Fórum Consulta SQL complicada #211032
02/02/2004
0
Estou com duvida em uma consulta sql ... vou tentar explicar para ver se alguem pode me ajudar. Estou usando paradox e delphi 7
Tenho um programa que controla vendas, nele tem uma tabela que se chama:
TB_Pedido com os seguintes campos:
Cod_Cliente
Cod_Vendedor
Cod_Corretor
Todos este tres campos do tipo inteiro
Tenho tambem as tabelas:
TB_Cliente --> onde esta o código do cliente e o nome
TB_Vendedor --> idem
TB_Corretor --> idem
Preciso fazer uma consulta na tabela pedido mas eu nao sei como substituir o codigo pelo nome ... Por exemplo no meu relatório ao inves de aparecer o código do cliente ..... eu queria que mostrasse o nome correspondente ao código e assim para Cod_Vendedor e Cod_Corretor tambem.
Se alguem puder me dar esta dica agradeço desde já.
valewww
Marcelo Bh
Curtir tópico
+ 0Posts
02/02/2004
Aroldo Zanela
SELECT * FROM tb_pedidos PED INNER JOIN tb_clientes CLI ON ( PED.cod_cliente = CLI.cod_cliente) INNER JOIN tb_vendedor VEN ON ( PED.cod_vendedor = VEN.cod_vendedor) INNER JOIN tb_corretor COR ON ( PED.cod_corretor = COR.cod_corretor)
Gostei + 0
02/02/2004
Fábio Valente
SELECT * FROM tb_pedidos PED INNER JOIN tb_clientes CLI ON ( PED.cod_cliente = CLI.cod_cliente) INNER JOIN tb_vendedor VEN ON ( PED.cod_vendedor = VEN.cod_vendedor) INNER JOIN tb_corretor COR ON ( PED.cod_corretor = COR.cod_corretor)
Colega, não faltou os campos desejados das ´sub-consultas´???
E prefiro o LEFT, assim não me retorna associações nulas... :]
Ficaria Assim:
SELECT tb_pedidos.*, tb_clientes.nome, tb_vendedor.nome, tb_corretor.nome FROM tb_pedidos PED LEFT JOIN tb_clientes CLI ON ( PED.cod_cliente = CLI.cod_cliente) LEFT JOIN tb_vendedor VEN ON ( PED.cod_vendedor = VEN.cod_vendedor) LEFT JOIN tb_corretor COR ON ( PED.cod_corretor = COR.cod_corretor)
Espero ter ajudado,
Gostei + 0
02/02/2004
Marcelo Bh
Valeu mesmo pela dica, funcionou perfeitamente.
Muito obrigado!
Gostei + 0
02/02/2004
Aroldo Zanela
* retorna todas as colunas da junção (join)
No curso 2318 - B (Consultando o Microsoft SQL Server 2000 com o Transact-SQL) tem o seguinte:
As associações externas à esquerda ou à direita combinam registros de duas tabelas que correspondem à condição de associação, além de quaisquer registros não-correspondentes da tabela à esquerda ou à direita, conforme especificado na cláusula JOIN. Os registros que não correspondem à condição de associação exibem NULL (Nulo) no conjunto de resultados. Você também pode usar associações externas completas para exibir todos os registros nas tabelas associadas, independentemente de as tabelas terem ou não valores correspondentes.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)