Consulta Query - buscando dados da mesma tabela
22/11/2005
0
SQL.Add(´Select pedido .Numero, pedido .DataEmissao,
pedido.CodRem,pedido .CodDest,Clientes.Nome as Rem,Clientes.Nome as Dest´);
SQL.Add(´From pedido ,Clientes´);
SQL.Add(´Where pedido .CodRem=Clientes.Codigo´);
SQL.Add(´and pedido .CodDest=Clientes.Codigo´);
Como resolver essa situação?
Janete
Posts
22/11/2005
Emerson Nascimento
Select Ped.Numero, Ped.DataEmissao, Ped.CodRem, Rem.Nome Remetente, Ped.CodDest, Dest.Nome Destinatario From Pedido Ped left join Clientes Rem on (Rem.Codigo = Ped.CodRem) left join Clientes Dest on (Dest.Codigo = Ped.CodDest)
22/11/2005
Janete
Select Ped.Numero, Ped.DataEmissao, Ped.CodRem, Rem.Nome Remetente, Ped.CodDest, Dest.Nome Destinatario From Pedido Ped left join Clientes Rem on (Rem.Codigo = Ped.CodRem) left join Clientes Dest on (Dest.Codigo = Ped.CodDest)
Fiz dessa formas, mas tb não deu certo, agora ele traz a qdo de pedido mesmo sendo um somente repedido para a quantidade de cliente.
22/11/2005
Janete
Acrescentei oq vc falou e agora ficou dessa forma:
SQL.clear;
SQL.Add(´Select distinct Pedido.Numero, CTRC.DataEmissao,Clientes.Nome as Rem,CTRC.CodRem,Pedido.CodDest,Clientes.Nome as Dest´);
SQL.Add(´From Pedido,Clientes´);
SQL.Add(´left join´);
SQL.Add(´Clientes Rem on (Rem.Codigo = Pedido.CodRem)´);
SQL.Add(´left join´);
SQL.Add(´Clientes Dest on (Dest.Codigo = Pedido.CodDest)´);
mas acontece a mesma coisa, só tem um pedido mas ele traz repetindo o mesmo pedido para cada cliente cadastrado.
22/11/2005
Janete
Dá uma olhadinha no primeiro tópico q escrevi, se não entender me fala.
22/11/2005
Emerson Nascimento
Select Ped.Numero, Ped.DataEmissao, Ped.CodRem, Rem.Nome Remetente, Ped.CodDest, Dest.Nome Destinatario From Pedido Ped left join Clientes Rem on (Rem.Codigo = Ped.CodRem) left join Clientes Dest on (Dest.Codigo = Ped.CodDest)
preste atenção na instrução acima: somente a tabela Pedido está na cláusula [i:23b8eb5576]from[/i:23b8eb5576]. Nenhuma outra.
apesar de você não ter informado qual banco de dados está utilizando, essa sintaxe funciona para a maioria deles.
22/11/2005
Edilcimar
22/11/2005
Siam
Select pedido.Numero, pedido.DataEmissao, pedido.CodRem, pedido.CodDest, (Select Nome From Clientes Where Codigo = Pedido.CodRem) as Rem, (Select Nome From Clientes Where Codigo = Pedido.CodDest) as Dest From pedido
23/11/2005
Janete
Select pedido.Numero, pedido.DataEmissao, pedido.CodRem, pedido.CodDest, (Select Nome From Clientes Where Codigo = Pedido.CodRem) as Rem, (Select Nome From Clientes Where Codigo = Pedido.CodDest) as Dest From pedido
Fiz dessa forma e ele traz os pedidos certos sem repetir, mas não traz nenhum dos nomes nem do remetente e nem do destinatário, eles ficam em brancos.
23/11/2005
Emerson Nascimento
Select Ped.Numero, Ped.DataEmissao, Ped.CodRem, Rem.Nome Remetente, Ped.CodDest, Dest.Nome Destinatario From Pedido Ped left join Clientes Rem on (Rem.Codigo = Ped.CodRem) left join Clientes Dest on (Dest.Codigo = Ped.CodDest)
isso não funcionou???
23/11/2005
Siam
23/11/2005
Siam
23/11/2005
Janete
Select Ped.Numero, Ped.DataEmissao, Ped.CodRem, Rem.Nome Remetente, Ped.CodDest, Dest.Nome Destinatario From Pedido Ped left join Clientes Rem on (Rem.Codigo = Ped.CodRem) left join Clientes Dest on (Dest.Codigo = Ped.CodDest)
isso não funcionou???[/quote:5a134989d9]
Acrescentei a tabela de clientes no From e ficou a mesma coisa. Estou usando paradox.
23/11/2005
Emerson Nascimento
Clique aqui para fazer login e interagir na Comunidade :)