DUVIDA SOBRE OS JOINS

MARCOS 27/07/2011 11:16:29
#380098
Pessoal,
Criar uma instrução Sql, usando INNER JOIN para duas tabelas é realmente simples.

Mas, ao pesquisar na Internet sobre consultas de INNER JOIN com 3 ou mais tabelas,infelizmente
,embora haja vários exemplos, Cada um mostra de um jeito diferente.O que nos faz ficar confusos.

Portanto, estou com dificuldade para fazer com 3 ou 4 tabelas.

Algum colega pode mostrar um modo de se fazer consultas em 3 tabelas, usando Join que seja [Ô]simples[Ô] , e possa
ser empregado para qualquer quantidade de tabelas. 3,4 ou mais?????
PARREIRA 27/07/2011 11:48:39
#380107
Resposta escolhida
Cara, tanto para duas tabelas ou para N, não muda muita coisa, o que manda é o relacionamento que você vai ter entre uma tabela e outra. Exempo.
Se for fazer um INNER JOIN de uma tabela de pedidos, vai precisar pelo menos de 4 JOIN com CLIENTE,PEDIDOS,ITENS DO PEDIDO E PRODUTO (obs isto é um exemplo, pois pode contar N tabelas para o os pedidos)
1º primeiramente, você tem que analisar o seu join como uma arvore, qual é a raiz. No caso cliente é a Raiz, pode ele não depende de nenhuma tabela destas citadas acima, depois de cliente você vai para pedidos, pois pedido herda o código do cliente, sucessivamente você chama os itens do pedido que herda de PEDIDOS e por último chamaria o PRODUTOS que está ligado aos itens do PEDIDO.
Vamos ver como ficaria na prática.
O campos são ilustrativos, só para você entender ok.

SELECT
CLIENTE.NOME,
PEDIDO.CODPED,
ITENS_PEDIDO.DESCRICAO,
PRODUTO.NOME
FROM
CLIENTE INNER JOIN
PEDIDO ON
CLIENTE.CODCLI = PEDIDO.CODCLI INNER JOIN
ITENS_PEDIDO ON
PEDIDO.CODPED = ITENS_PEDIDO.CODPED INNER JOIN
PRODUTOS ON
ITENS_PEDIDO.CODPRO = PRODUTO.CODPRO

Lembrando que os campos são ilustrativos, mais isso é um exmplo de JOIN.
Caso tenha mais duvidas, posta a relação das suas tabelas que a gente te ajuda..
Espero que tenha entendido.
Tópico encerrado , respostas não são mais permitidas