Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
prezados, boa tarde!
tenho as seguintes queries que me trazem os seguintes resultados.
Query 1 -- PAM ASSISTIDOS
select det.cdfavdvd NSU,
etd.nm_etd NOME,
pti.nu_pti_icr INSCRICAO,
to_char(c.dtpag, 'yyyy') ANO_PAG,
to_char(c.dtpag, 'mm') MES_PAG,
sum(det.vrliqpag) VAL_PAM
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pti_cad pti
where c.cdeve = '546'
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pti.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pti.dt_pti_dlg_mov is null or
pti.dt_pti_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
group by det.cdfavdvd,
etd.nm_etd,
pti.nu_pti_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm')
order by 3, 4, 5
resultado:
NSU NOME INSCRICAO ANO_PAG MES_PAG VAL_PAM
83595 ADILSON PEREIRA 0000182 2013 01 268,75
83595 ADILSON PEREIRA 0000182 2013 02 268,75
83595 ADILSON PEREIRA 0000182 2013 03 268,75
83595 ADILSON PEREIRA 0000182 2013 04 268,75
83818 ALMIR PEREIRA 0000422 2013 01 654,46
83818 ALMIR PEREIRA DE A 0000422 2013 02 654,46
83818 ALMIR PEREIRA DE A 0000422 2013 03 654,46
83818 ALMIR PEREIRA DE A 0000422 2013 04 654,46
85144 EDVALDO LOPES 0001768 2013 01 582,04
85144 EDVALDO LOPES 0001768 2013 02 582,04
85144 EDVALDO LOPES 0001768 2013 03 582,04
85144 EDVALDO LOPES 0001768 2013 04 582,04
85326 ERNANI MENDONCA 0001941 2013 01 353,18
85326 ERNANI MENDONCA 0001941 2013 02 353,18
Query 2 -- PAM PENSIONISTAS
select det.cdfavdvd nsu,
etd.nm_etd nome,
pns.nu_pns_icr inscricao,
to_char(c.dtpag, 'yyyy') ano,
to_char(c.dtpag, 'mm') mes,
sum(det.vrliqpag) valor
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pns_cad_brc pns
where c.cdeve = '546'
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pns.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pns.dt_pns_dlg_mov is null or
pns.dt_pns_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
and pns.cd_etd_idt not in
(select det.cdfavdvd nsu
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pti_cad pti
where c.cdeve in ('546', '551', '552')
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pti.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pti.dt_pti_dlg_mov is null or
pti.dt_pti_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
group by det.cdfavdvd,
etd.nm_etd,
pti.nu_pti_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm'))
group by det.cdfavdvd,
etd.nm_etd,
pns.nu_pns_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm')
order by 3, 5
Resultado:
NSU NOME INSCRICAO ANO MES VALOR
128621 CELIDA C COSTA E SOUZA 9003104 2013 01 793,47
128621 CELIDA C COSTA E SOUZA 9003104 2013 02 793,47
128621 CELIDA C COSTA E SOUZA 9003104 2013 03 793,47
128621 CELIDA C COSTA E SOUZA 9003104 2013 04 793,47
128896 MARLY RODRIGUES DE LIRA 9003385 2013 01 660,68
128896 MARLY RODRIGUES DE LIRA 9003385 2013 02 660,68
128896 MARLY RODRIGUES DE LIRA 9003385 2013 03 660,68
128896 MARLY RODRIGUES DE LIRA 9003385 2013 04 660,68
129620 ENAURA O DOS S FIGUEIRA 9004805 2013 01 1152,01
129620 ENAURA O DOS S FIGUEIRA 9004805 2013 02 1152,01
129620 ENAURA O DOS S FIGUEIRA 9004805 2013 03 1152,01
129620 ENAURA O DOS S FIGUEIRA 9004805 2013 04 1152,01
131468 GENI SILVA LINHARES 9007089 2013 01 214,45
131468 GENI SILVA LINHARES 9007089 2013 02 214,45
E a união dessas duas queries me trás o seguinte resultado:
Query
select det.cdfavdvd NSU,
etd.nm_etd PARTICIPANTE,
pti.nu_pti_icr INSCRICAO,
to_char(c.dtpag, 'yyyy') ANO,
to_char(c.dtpag, 'mm') MES,
sum(det.vrliqpag) VALOR
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pti_cad pti
where c.cdeve = '546'
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pti.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pti.dt_pti_dlg_mov is null or
pti.dt_pti_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
group by det.cdfavdvd,
etd.nm_etd,
pti.nu_pti_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm')
union
select det.cdfavdvd NSU,
etd.nm_etd PARTICIPANTE,
pns.nu_pns_icr INSCRICAO,
to_char(c.dtpag, 'yyyy') ANO,
to_char(c.dtpag, 'mm') MES,
sum(det.vrliqpag) VALOR
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pns_cad_brc pns
where c.cdeve = '546'
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pns.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pns.dt_pns_dlg_mov is null or
pns.dt_pns_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
and pns.cd_etd_idt not in
(select det.cdfavdvd nsu
from fin_lancontaspagar c,
fin_lancontaspagardet det,
etd_elet etd,
pti_cad pti
where c.cdeve in ('546', '551', '552')
and (c.dtpag >= to_date('01/01/2013', 'dd/mm/yyyy') and
c.dtpag <= to_date('31/12/2013', 'dd/mm/yyyy'))
and pti.cd_etd_idt = etd.cd_etd_idt
and c.nrdoc = det.nrdoc
and det.cdfavdvd = etd.cd_etd_idt
and (pti.dt_pti_dlg_mov is null or
pti.dt_pti_dlg_mov > to_date('01/01/2013', 'dd/mm/yyyy'))
group by det.cdfavdvd,
etd.nm_etd,
pti.nu_pti_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm'))
group by det.cdfavdvd,
etd.nm_etd,
pns.nu_pns_icr,
to_char(c.dtpag, 'yyyy'),
to_char(c.dtpag, 'mm')
order by 2, 5
Resultado :
NSU PARTICIPANTE INSCRICAO ANO MES VALOR
106460 ADELMA RAMALHO DA COSTA 0023606 2013 01 400,87
106460 ADELMA RAMALHO DA COSTA 0023606 2013 02 389,88
106460 ADELMA RAMALHO DA COSTA 0023606 2013 03 383,42
106460 ADELMA RAMALHO DA COSTA 0023606 2013 04 376,31
98693 ADEMAR INACIO DA SILVA 0066068 2013 01 790,63
98693 ADEMAR INACIO DA SILVA 0066068 2013 02 785,91
98693 ADEMAR INACIO DA SILVA 0066068 2013 03 785,91
98693 ADEMAR INACIO DA SILVA 0066068 2013 04 785,91
93080 ADEMARIO DOS SANTOS 0009845 2013 01 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 02 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 03 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 04 436,52
83595 ADILSON PEREIRA DA SILVA 0000182 2013 01 268,75
Agora eis a questão, eu preciso que que o select me retorne da maneira que me
pediram aqui no trabalha, ou seja dessa forma.
Inscrição Participante JAN FEV MAR ABR
23606 Adelma Ramalho da Costa 189,69 185,33 181,93 180,48
66068 Ademar Inacio da Silva 424,13 424,13 424,14 424,14
9845 Ademario dos Santos 214,86 214,86 214,88 214,88
182 Adilson Pereira da Silva 96,38 96,38 96,39 96,39
9902933 Aida Marins Atallah 96,32 128,39 189,36 128,21
7476 Ailton de Castro Viana 106,33 106,33 106,35 106,35
24141 Alamier Salles da Silva 235,71 235,71 235,73 235,73
9901810 Alayde D´Oliveira Hemerly 128,33 369,66 248,37 325,33
32029 Alba José de Oliveira 474,96 474,96 474,98 474,98
12229 Alberto Carlos T da Silva 392,88 392,88 392,88 392,91
Então, gostaria da saber como faço para criar as colunas dos meses e incluir o referido
valor de cada um como eles pediram no ex: acima.Nas tabelas anteriores tem a coluna valor
e a tabela mes em formato numeral, eu quero fazer como no último exemplo, quando os
meses estão em colunas e os valores ficam numa única linha.
Até pensei em fazer assim ''JAN, ''FEV, ''MAR ... ...
Mas não sei como colocar o respectivo valor de cada pessoa,
e aparecer somente uma vez o nome de cada um, ou seja, um nome por linha. Ficaria assim:
NSU PARTICIPANTE INSCRICAO JAN FEV MAR ABR ANO MES VALOR
106460 ADELMA RAMALHO DA COSTA 0023606 2013 01 376,31
106460 ADELMA RAMALHO DA COSTA 0023606 2013 02 400,87
106460 ADELMA RAMALHO DA COSTA 0023606 2013 03 389,88
106460 ADELMA RAMALHO DA COSTA 0023606 2013 04 383,42
98693 ADEMAR INACIO DA SILVA 0066068 2013 01 785,91
98693 ADEMAR INACIO DA SILVA 0066068 2013 02 785,91
98693 ADEMAR INACIO DA SILVA 0066068 2013 03 790,63
98693 ADEMAR INACIO DA SILVA 0066068 2013 04 785,91
93080 ADEMARIO DOS SANTOS 0009845 2013 01 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 02 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 03 436,52
93080 ADEMARIO DOS SANTOS 0009845 2013 04 436,52
83595 ADILSON PEREIRA DA SILVA 0000182 2013 01 268,75
Espero mesmo do fundo do coração que vocÊs possam me ajudar, minha vida de estagiário está
correndo risco. rs
Carregando comentários...