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