concatenar um group de registro
Ola pessoal to com o seguinte problema:
select cd_nf_remetente, cd_nf_destinatario, count(nr_nf), sum(qt_nf_mercadoria), sum(qt_nf_peso), sum(vl_nf_frete) as frete, sum(vl_nf) as nf from item_carga, notafiscal
where cd_itcarga_filial=1 and cd_itcarga_carga=27 and
cd_itcarga_notafiscal=cd_nf
group by cd_nf_remetente, cd_nf_destinatario
No select acima ele me traz o nro de notas q corresponde o group de remetente e destinaratario,
eu quero eh concatenar o nr_nf é possivel tipo ( 100,101, 103). Sera que tem algum comando de concatenar tipo(sum, avg, coun, min)
Abraços.
select cd_nf_remetente, cd_nf_destinatario, count(nr_nf), sum(qt_nf_mercadoria), sum(qt_nf_peso), sum(vl_nf_frete) as frete, sum(vl_nf) as nf from item_carga, notafiscal
where cd_itcarga_filial=1 and cd_itcarga_carga=27 and
cd_itcarga_notafiscal=cd_nf
group by cd_nf_remetente, cd_nf_destinatario
No select acima ele me traz o nro de notas q corresponde o group de remetente e destinaratario,
eu quero eh concatenar o nr_nf é possivel tipo ( 100,101, 103). Sera que tem algum comando de concatenar tipo(sum, avg, coun, min)
Abraços.
Fabiotb
Curtidas 0
Respostas
Pestana_
01/04/2007
Ola fabiotb, vc quer concatenar dados de colunas? caso sim, vc pode utilizar o operador de concatenação ||
select (campo1 || ´, ´ || campo2) as CampoConcatenado
ve se é isso que vc quer,
flw
select (campo1 || ´, ´ || campo2) as CampoConcatenado
ve se é isso que vc quer,
flw
GOSTEI 0
Fabiotb
01/04/2007
não é isso.. to vendo q vou fazer uma procedure
obrigado
obrigado
GOSTEI 0
Fabiotb
01/04/2007
REsolvi criando uma procedure assim:
e finalmente no meu select faço assim:
Obrigado a todos!!
Abraços
Fabio
DECLARE VARIABLE DSNOTA INTEGER; DECLARE VL_NOTAFISCAL NUMERIC(10,2); DECLARE VL_FRETE NUMERIC(10,2); DECLARE QT_MERCADORIA NUMERIC(10,4); DECLARE QT_PESOS NUMERIC(10,4); DECLARE VARIABLE AGRUPANF VARCHAR(100); DECLARE VARIABLE VIRGULA VARCHAR(100); BEGIN VIRGULA=´,´; AGRUPANF=´´; FOR SELECT NR_NF FROM ITEM_CARGA, NOTAFISCAL WHERE CD_ITCARGA_FILIAL=:FILIAL AND CD_ITCARGA_CARGA=:CARGA AND CD_NF_REMETENTE=:REMETENTE AND CD_NF_DESTINATARIO=:DESTINATARIO AND CD_ITCARGA_NOTAFISCAL= CD_NF INTO :DSNOTA DO BEGIN AGRUPANF=:AGRUPANF||:DSNOTA||:VIRGULA; END NOTAFISCAL=:AGRUPANF; SUSPEND; END
e finalmente no meu select faço assim:
select NF.cd_nf_remetente, NF.cd_nf_destinatario, (SELECT NOTAFISCAL FROM GERAR_NF_CONHECIMENTO(IT.CD_ITCARGA_FILIAL,IT.CD_ITCARGA_CARGA,NF.CD_NF_REMETENTE,NF.CD_NF_DESTINATARIO)) AS NOTAS, SUM(IT.QT_ITCARGA_TOTAL_PESOS) AS PESOS, SUM(IT.QT_ITCARGA_TOTAL_MERCADORIA) AS MERCADORIA, SUM(NF.VL_NF_FRETE) as FRETE, SUM(NF.VL_NF) as VLNOTAS from item_carga IT, notafiscal NF where cd_itcarga_notafiscal=cd_nf GROUP BY NF.cd_nf_remetente, NF.cd_nf_destinatario, IT.CD_ITCARGA_FILIAL,IT.CD_ITCARGA_CARGA,NF.CD_NF_REMETENTE,NF.CD_NF_DESTINATARIO
Obrigado a todos!!
Abraços
Fabio
GOSTEI 0