SQL Query不检索任何内容

时间:2016-06-15 11:29:41

标签: mysql select phpmyadmin

我有两张桌子:

Equipas:
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有一个注册表,但有外键,但查询不能找回任何东西。

提前感谢您提供的任何帮助。 如果您需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:2)

您希望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

答案 1 :(得分:1)

看起来Equipa是你试图加入两次的桌子,而不是Jogo。 如果我理解你的问题,试试这个:

SELECT  e1.nomeEquipa AS "Casa",
        e2.nomeEquipa AS "Visitante"
FROM Jogo j
JOIN Equipa AS e1 ON j.codEquipaCasa=e1.codEquipa 
JOIN Equipa AS e2 ON j.codEquipaFora=e2.codEquipa