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

André Conrado acf em andreconrado.net
Seg Maio 21 17:33:25 -03 2012


Já tentou usar a função LIST?

Em 21 de maio de 2012 17:05, Anderson ( Madame Ms - TI)
<anderson.ti em madamems.com.br> escreveu:
> 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
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




Mais detalhes sobre a lista de discussão lista