[firebase-br] RES: dúvida - varios registros em uma única linha

Anderson ( Madame Ms - TI) anderson.ti em madamems.com.br
Seg Maio 21 17:05:44 -03 2012


Olá a todos. 

Estou com um problema que talvez alguém da lista já tenha passado, estou com
uma tabela de parcelas financeiras, sendo que cada registro possui a
informação de: código, nf, data e parcela(cada parcela gera um registro),
sendo que quero concatenar as parcelas em uma única linha, a concatenação eu
consegui fazer, mas ocorre que acabo tendo várias linhas com o mesma
informação, variando somente o campo concatenado de parcelas, em uma linha
as parcelas aparecem como: 01 / 02 / 03 em outra linha aparece como 03 / 02
 / 01 e assim por diante.  Group by não resolve meu problema pois como a
coluna de concatenação gera um resultado diferente a cada linha, ele entende
como registro único.  Alguém já passou por isso no firebird?  Conseguiu
solucionar o problema?
Desde já obrigado a todos.

Segue exemplo do script que estou realizando:
SELECT  a.codigo_cadastro_geral, a.codigo_loja, a.numero_nf_controle,
cast(a.data as date) as DATA, cast(a.inclusao_data as date) as
INCLUSAO_DATA,  (coalesce(b.codigo_lancamento,0)||' /
'||coalesce(c.codigo_lancamento,0)||' / '||coalesce(d.codigo_lancamento,0))
as NUMEROS_LANCAMENTOS, (coalesce(b.parcela,0)||' /
'||coalesce(c.parcela,0)||' / '||coalesce(d.parcela,0)) as NUMERO_PARCELAS,
(coalesce(cast(B.data_vencimento as date),'')||' /
'||coalesce(cast(c.data_vencimento as date),'')||' /
'||coalesce(cast(d.data_vencimento as date),'')) as VENCIMENTOS,
(coalesce(b.valor_previsao,0)||' / '||coalesce(c.valor_previsao,0)||' /
'||coalesce(d.valor_previsao,0)) as VALOR_PARCELAS, a.valor_total_nf,
a.valor_total_produto, (b.valor_previsao+c.valor_previsao+d.valor_previsao)
as VALOR_TOTAL_PARCELAS,
(a.valor_total_nf-a.valor_total_produto) as DIVERGENCIA__NF_PROD,
((b.valor_previsao+c.valor_previsao+d.valor_previsao)-a.valor_total_nf) as
DIVERGENCIA_NF_PARCELAS FROM e_registro_nf_controle a left JOIN 
f_lancamento b ON a.codigo_registro_nf_controle=b.codigo_ligacao AND
a.codigo_loja=b.codigo_loja AND a.numero_nf_controle=b.controle AND
a.codigo_cadastro_geral=b.codigo_cadastro_geral
left JOIN  f_lancamento c ON a.numero_nf_controle=c.controle AND
a.codigo_loja=c.codigo_loja AND
a.codigo_cadastro_geral=c.codigo_cadastro_geral
left JOIN  f_lancamento d ON a.numero_nf_controle=d.controle AND
a.codigo_loja=d.codigo_loja AND
a.codigo_cadastro_geral=d.codigo_cadastro_geral
WHERE a.data > '01.01.2012' and (A.codigo_cadastro_geral NOT LIKE '%*%' and
A.codigo_cadastro_geral<> 'G') GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14





Mais detalhes sobre a lista de discussão lista