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 <mailto: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
    <mailto: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

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

Responder a