Edson, um toque: é meio complicado pro pessoal aqui ter tempo para refazer
seu modelo completo, inserir dados e detectar seu problema.
Sugestão: Faça um modelo simplificado da estrutura em que ocorre o
problema, detecte o problema e poste aqui. Algo como:

CREATE TABLE OS(XXX TYPE , YYY TYPE)...
INSERT INTO OS(...
SELECT DISTINCT(XXX...




Em 15 de agosto de 2012 22:45, Edson - Listas <edson...@gmail.com> escreveu:

>  Pessoal, ainda não consegui encontrar o problema, segue o meu modelo no
> endereço abaixo:
>   http://imagebin.org/224706
>
> Edson
>
> Em 13/08/2012 21:21, Anselmo Silva escreveu:
>
> Faça um modelo resumido do problema com a estrutura deste modelo para
> melhores dicas.
> 'Chutando' eu aconselharia que vc revisasse as ligações (joins), se estão
> consistentes.
>
> 2012/8/13 Edson - Listas <edson...@gmail.com>
>
>> Olá Pessoal,
>>
>> O meu select abaixo, esta duplicando as linhas, mesmo usando DISTINCT.
>>
>> select DISTINCT  a.cd_fil,a.cd_ordem,a.dt_abertura,
>>         a.cd_cli,f.nm_cli,f.de_endereco,f.fone,
>>         a.vlr_final_os,a.vlr_desc_os,a.vlr_outros,
>>         a.vlr_tot_prod,a.vlr_tot_serv,a.servico_solicitado,
>>         a.de_ocorrencia,
>>         h.de_cid,a.cd_funcio,e.nm_funcio,b.cd_prod,
>>         g.de_prod,b.qtde_prod,b.vlr_unit_prod,b.perc_desc_prod,
>>         b.vlr_desc_prod,b.vlr_prod,b.total_prod,
>>         c.cd_servico,d.de_servico,c.qtd_serc,c.vlr_unit,
>>         c.perc_desc_serv,c.vlr_desc,c.vlr_serv,
>>         c.sub_total,
>>         CASE
>>              WHEN a.fg_tipo_os = 'INS' THEN 'INSTALAÇÃO'
>>              WHEN a.fg_tipo_os = 'MAN' THEN 'MANUTENÇÃO'
>>              WHEN a.fg_tipo_os = 'MAN' THEN 'MANUTENÇÃO'
>>              WHEN a.fg_tipo_os = 'ACO' THEN 'À COBRAR'
>>              WHEN a.fg_tipo_os = 'GAR' THEN 'GARANTIA'
>>              WHEN a.fg_tipo_os = 'CON' THEN 'CONTRATO'
>>              WHEN a.fg_tipo_os = 'ORC' THEN 'ORÇAMENTO'
>>              ELSE 'OUTROS'
>>          END tipo_os,
>>          CASE
>>              WHEN a.fg_status_os = 'AB' THEN 'ABERTA'
>>              WHEN a.fg_status_os = 'FC' THEN 'FECHADA'
>>              ELSE 'INVÁLIDA'
>>          END status_os
>>
>> from osservhe a inner JOIN  osprodut b
>>      on a.cd_ordem = b.cd_ordem
>>    inner join cliente f
>>      on a.cd_cli = f.cd_cli
>>     inner join vendfunc e
>>      on a.cd_funcio = e.cd_funcio
>>    inner join osservde c
>>      on a.cd_ordem = c.cd_ordem
>>    left join produto g
>>      on b.cd_prod = g.cd_prod
>>    left join servicos d
>>      on c.cd_servico = d.cd_servico
>>    inner join cidade h on
>>    f.cd_cid = h.cd_cid
>>    order by a.dt_abertura,a.cd_ordem
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
>  --
> Anselmo M. Silva
>
>
> _______________________________________________
> pgbr-geral mailing 
> listpgbr-ge...@listas.postgresql.org.brhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Anselmo M. Silva
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a