我有2张桌子:
装备:
codEquipa(这是表的主要键)
nomeEquipa
logoEquipa
estadioEquipa
cidadeEquipa
Jogo:
codJogo(这是表的主要键)
codEquipaCasa(这是codEquipa的外键)
codEquipaFora(这是codEquipa的外键)
dataJogo
并查询:*
SELECT Equipa.nomeEquipa AS "Casa",
Equipa.nomeEquipa AS "Visitante"
FROM Equipa
JOIN Jogo AS j1 ON j1.codEquipaCasa=Equipa.codEquipa
JOIN Jogo AS j2 ON j2.codEquipaFora=Equipa.codEquipa
事实是,我在Jogo中有一个注册表,其中包含现有的外键,但是查询没有检索到我任何东西。
预先感谢您可以给我的任何帮助。
让我知道您是否需要更多信息。
最佳答案
您想要join
Equipa
两次到Jogo
,而不是相反:
SELECT ec.nomeEquipa AS "Casa",
ef.nomeEquipa AS "Visitante"
FROM Jogo j JOIN
Equipa ec
ON j.codEquipaCasa = ec.codEquipa JOIN
Equipa ef
ON j.codEquipaFora = ef.codEquipa;
如果缺少值,则可能需要
LEFT JOIN
。关于mysql - SQL查询未检索任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37834189/