JOIN ENTRE ASSOCIATIVA
Galera duvidinha bem boba que me deu um branco..
quando tenho uma tabela associativa (que seria many to many) e tenho que fazer um Join entre tabelas eu desconsidero que a associativa existe e faço o Join normalmente entre as duas tabelas??
ou tenho que incluir um terceiro Join que seria na tabela associativa ??
Só pra confirmar, ficaria da seguinte forma:
quando tenho uma tabela associativa (que seria many to many) e tenho que fazer um Join entre tabelas eu desconsidero que a associativa existe e faço o Join normalmente entre as duas tabelas??
ou tenho que incluir um terceiro Join que seria na tabela associativa ??
Só pra confirmar, ficaria da seguinte forma:
SELECT CAMPOS
FROM TABELA_A A
JOIN TABELA_ASSOCIATIVA C ON A.pkey = C.pkeyA
JOIN TABELA_B B ON B.pkey = C.pkeyB ;
Tudo vai depender dos dados que você necessita. Se você consegue pegar os dados necessários unindo duas tabelas, por que seria necessário uma terceira tabela?
Citação::
Tudo vai depender dos dados que você necessita. Se você consegue pegar os dados necessários unindo duas tabelas, por que seria necessário uma terceira tabela?
No caso a associativa existe para unir 2 tabelas muitos pra muitos o pensamento acima esta correto né?
é que está um pouco genérica demais a pergunta para podermos dar uma resposta apropriada. Explique seu cenário e talvez consigamos dar uma resposta melhor.
Citação::
é que está um pouco genérica demais a pergunta para podermos dar uma resposta apropriada. Explique seu cenário e talvez consigamos dar uma resposta melhor.
tipo daqueles coisas bem basicas que deu um branco em mim..
na tabela ArmaVeiculo tem idArma e idVeiculo
A tabela ArmaVeiculo é uma associativa entre Arma e Veiculo, para fazer um JOIN preciso fazer incluindo a associativa também?
ex:
SELECT CAMPOS
FROM TABELA_A A
JOIN TABELA_ASSOCIATIVA C ON A.pkey = C.pkeyA
JOIN TABELA_B B ON B.pkey = C.pkeyB ;
Select a.idArma,a.nome,v.idVeiculo,v.nome FROM Arma A
JOIN ArmaVeiculo S ON a.idArma = S.idArma
JOIN Veiculo V ON v.idVeiculo = s.idVeiculo
O que definirá se será necessário usar um join são os dados que você quer pegar. Se a união entre duas tabelas for o suficiente para o que você quer fazer, qual a necessidade de colocar mais um join? Se você precisa do nome da arma e do veÃculo e a quantidade deles, então será necessário fazer uma união entre as 3 tabelas.
Citação::
O que definirá se será necessário usar um join são os dados que você quer pegar. Se a união entre duas tabelas for o suficiente para o que você quer fazer, qual a necessidade de colocar mais um join? Se você precisa do nome da arma e do veÃculo e a quantidade deles, então será necessário fazer uma união entre as 3 tabelas.
Valeu jaba.
Tópico encerrado , respostas não são mais permitidas