Fórum consulta de sql... resultado complicado #260199

26/11/2004

0

Olá,

Tenho um programa que tem uma tabela chamada CLIENTES e outra tabela chamada PEDIDO. Na hora de emitir um pedido o preenchimento do cliente é opcional (coisa de meu cliente).

Meu cliente quer que eu disponibilize no relatório de pedidos o endereço do cliente então estou fazendo uma consulta da seguinte maneira:

SELECT bdPedido.Valor, bdCliente.nome, bdCliente.Endereco From bdPedido, bdCliente WHERE bdPedido.Cod = 10 and [color=red]bdPedido.Cliente = bdCliente.Cod[/color] 


os pedidos que tem um cliente a consulta retorna bonitinha, mas os pedidos sem cliente não são retornados pela consulta.

O que fazer para corrigir este problema?


desde já muito obrigado.


Balceiro

Balceiro

Responder

Posts

26/11/2004

Xtreme

Tenta assim
SELECT bdPedido.Valor, bdCliente.nome, bdCliente.Endereco From bdPedido
left join bdCliente on bdPedido.Cliente = bdCliente.Cod
WHERE bdPedido.Cod = 10 



Responder

Gostei + 0

26/11/2004

Balceiro

a dúvida agora é a seguinte e se eu tivesse mais de uma tabela que gostaria de relacionar, como ficaria?


Responder

Gostei + 0

26/11/2004

Xtreme

a dúvida agora é a seguinte e se eu tivesse mais de uma tabela que gostaria de relacionar, como ficaria?


Bom ai vc tem que ver se os campos tambem podem passar nulos, caso possam basta vc fazer da seguinte maneira

SELECT bdPedido.Valor, bdCliente.nome, bdCliente.Endereco From bdPedido
left join bdCliente on bdPedido.Cliente = bdCliente.Cod
left join <tabela> on <campo> = <campo>
.
.
.
WHERE bdPedido.Cod = 10


ja se for obrigatorio a presença do campo relacionado ao inves de ´left join´ use ´inner join´ so lembrando é a tabela desejada e os campos relaciodados tipo [u:b6a0dbda3d]bdPedido.Cliente = bdCliente.Cod[/u:b6a0dbda3d]


Responder

Gostei + 0

26/11/2004

Balceiro

xtreme muito obrigado mesmo pela força... me safou de um grande problema. Valeu


Responder

Gostei + 0

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

Aceitar