Rodrigo, já me ajudou muito...

Muito obrigado...


Marcelo Silva
--------------------------------------------------

From: Rodrigo Della Justina 
Sent: Thursday, March 31, 2011 9:48 PM
To: Marcelo Silva (IG) 
Subject: Re: [pgbr-geral] Sugestões nesse SQL

select * from (
select 
   t_vendas_total.cod_cli,
   (select nome from clientes where cod_cli = t_vendas_total.cod_cli) as nome,
   t_vendas_total.cod_prod,
   sum(t_vendas_total.qtde) as qtde 
from(
  (select 
     cod_cli,     
     cod_prod,
     sum(qtde) as qtde
  from 
     vendas_itens
  group by
     cod_cli, cod_prod
  ) 
  union all
  (select 
     cod_cli,     
     cod_prod,
     sum(qtde) as qtde
  from 
     vendas_balcao
  group by
     cod_cli, cod_prod
  )) t_vendas_total
group by
   t_vendas_total.cod_cli,
   t_vendas_total.cod_prod
) total
order by 
   total.nome


veja se voce tira algum proveito disso 
acredito que agora com base nas suas explicacoes e colocar em duas colunas

att
rodrigo


Em 31 de março de 2011 21:19, Rodrigo Della Justina 
<[email protected]> escreveu:

  ja vou fazer um aqui pra vc  
  ja te mando de novo




  Em 31 de março de 2011 20:56, Marcelo Silva (IG) <[email protected]> 
escreveu: 


    Até resolveria se eu não tivesse que separar por produto.

    Marcelo Silva
    -----------------------------------------

    From: Rodrigo Della Justina 
    Sent: Thursday, March 31, 2011 8:56 PM
    To: Marcelo Silva (IG) ; Comunidade PostgreSQL Brasileira 
    Subject: Re: [pgbr-geral] Sugestões nesse SQL

    Isso nao resolve 


      select 
         cod_cli,
         nome,
         (select coalesce(sum(qtdE),0) from vendas_itens  where 
vendas_itens.cod_cli = clientes.cod_cli) as ven_itens,
         (select coalesce(sum(qtdE),0) from vendas_balcao where 
vendas_balcao.cod_cli = clientes.cod_cli) as ven_itens
      from 
         clientes

    att
    rodrigo

    Em 31 de março de 2011 20:49, Marcelo Silva (IG) <[email protected]> 
escreveu:

      Pessoal, fiz esse SQL, mas estou achando bem ruim, como não sou DBA 
gostaria das sugestões de você para melhora-lo ou até mesmo substituí-lo.

      select a.cod_id, a.nome, b.codigo, b.descricao, 
      coalesce(sum(c.qtd_item),0) as qtd_itens,
      coalesce(sum(d.qtd_item),0) as qtd_balcao,
      coalesce(sum(e.qtd_item),0) as qtd_baixa,
      coalesce(sum(f.qtd_item),0) as qtd_venda
      from mv_clientes a
      inner join mv_produtos b on (b.codigo <> '00')
      left join mv_vendas_pre_itens c on(c.cod_id = a.cod_id)and(c.codigo = 
b.codigo)
      left join mv_servicos_balcao d on(d.cod_id = a.cod_id)and(d.codigo = 
b.codigo)
      left join mv_servicos_baixa e on(e.cod_id = a.cod_id)and(e.codigo = 
b.codigo)
      left join mv_vendas_itens f on(f.cod_id = a.cod_id)and(f.codigo = 
b.codigo)
      where (c.qtd_item is not null)
      or(d.qtd_item is not null)
      or(e.qtd_item is not null)
      or(f.qtd_item is not null)
      group by a.cod_id, a.nome, b.codigo, b.descricao
      order by a.cod_id, a.nome, b.codigo, b.descricao

      Preciso trazer os totais de cada tabela para cada cliente.

      Ou será que é melhor fazer pela aplicação?

      Agradeço pelo Ajuda!


      Marcelo Silva
      -----------------------------------------------

      _______________________________________________
      pgbr-geral mailing list
      [email protected]
      https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral





    -- 

    Atenciosamente


    Rodrigo Della Justina
    [email protected]
    [email protected]
    Telp: 55-46-8801-6165


    IBM DB2 Certified Database Academic





  -- 

  Atenciosamente


  Rodrigo Della Justina
  [email protected]
  [email protected]
  Telp: 55-46-8801-6165


  IBM DB2 Certified Database Academic





-- 

Atenciosamente


Rodrigo Della Justina
[email protected]
[email protected]
Telp: 55-46-8801-6165


IBM DB2 Certified Database Academic

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a