SQL 查询未检索到任何内容

SQL Query not retrieving anything

我有2个table:

装备:
codEquipa (这是 table 的主键)
nomeEquipa
logoEquipa
estadioEquipa
cidadeEquipa

乔戈:
codJogo (这是table的主键)
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 中有一个带有现有外键的注册表,但查询没有检索到任何东西。

在此先感谢您能给我的任何帮助。 如果您需要更多信息,请告诉我。

您尝试加入两次的 table 似乎是 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

您想 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