Fórum consulta com left join duplicando registros... #45470

12/07/2004

0

alo !?
tenho uma consulta... entre 3 tabelas...

COMANDA1 - ID_ESTABELECIMENTO,FONE_COMANDA1,NOME_COMANDA1,SUM(PRECO_COMANDA1)
ESTABELECIMENTO - CODIGO
CLIENTES - ENDERECO_CLIENTES1

preciso fazer a soma na tabela COMANDA1 por cliente...
até aí tudo certo...

select DISTINCT c1.id_estabelecimento,e.nome,c1.fone_comanda1,c1.nome_comanda1,
count(*),sum(c1.preco_comanda1)
from comanda1 c1
inner join estabelecimentos e on (e.codigo = c1.id_estabelecimento)
where
c1.data_comanda1 between ´05/01/04´ and ´05/31/04´
group by c1.id_estabelecimento,e.nome,c1.fone_comanda1,c1.nome_comanda1
order by c1.id_estabelecimento,sum(preco_comanda1) desc,nome_comanda1

mas nessa consulta eu preciso buscar o ENDERECO_CLIENTES da tabela clientes...
quando coloco o: left join clientes c on(c.fone_clientes = c1.fone_comanda1)
ele me retorna mais campos do que deveria ser... valores somas - absurdos.

select DISTINCT c1.id_estabelecimento,e.nome,c1.fone_comanda1,c1.nome_comanda1,c.endereco_clientes,
count(*),sum(c1.preco_comanda1)
from comanda1 c1
inner join estabelecimentos e on (e.codigo = c1.id_estabelecimento)
left join clientes c on(c.fone_clientes = c1.fone_comanda1)
where
c1.data_comanda1 between ´05/01/04´ and ´05/31/04´
group by c1.id_estabelecimento,e.nome,c1.fone_comanda1,c1.nome_comanda1,c.endereco_clientes
order by c1.id_estabelecimento,sum(preco_comanda1) desc,nome_comanda1


se alguem puder me ajudar...

desde ja agradeço
[]s


Seven

Seven

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar