JOIN ENTRE ASSOCIATIVA

MESTRE 06/11/2017 14:30:23
#477625
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:

  SELECT CAMPOS
FROM TABELA_A A
JOIN TABELA_ASSOCIATIVA C ON A.pkey = C.pkeyA
JOIN TABELA_B B ON B.pkey = C.pkeyB ;
JABA 06/11/2017 15:31:57
#477627
Resposta escolhida
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?
MESTRE 06/11/2017 16:23:55
#477629
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é?
KERPLUNK 06/11/2017 16:33:09
#477630
é 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.
MESTRE 06/11/2017 16:44:24
#477632
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

JABA 06/11/2017 19:57:07
#477639
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.
MESTRE 07/11/2017 15:04:48
#477672
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