gpt4 book ai didi

mysql - SQL 左连接返回 NULL 值

转载 作者:行者123 更新时间:2023-11-29 10:04:59 26 4
gpt4 key购买 nike

我有一个数据库,其中包含表schedule和表teams(如下图所示)我正在尝试使用homeID & schedule 表中的 awayID 来对 teams 表进行联接......问题是它返回 NULL

数据库布局

enter image description here

计划表格布局

enter image description here

团队表格布局

enter image description here

我的查询

SELECT s.*,
t1.teamId as homeId_teamId,
t1.teamCode as homeId_teamCode,
t1.teamName as homeId_teamName,
t2.teamId as visitorId_teamId,
t2.teamCode as visitorId_teamCode,
t2.teamName as visitorId_teamName
FROM schedule s
LEFT JOIN teams t1 ON s.homeId = t1.teamName
LEFT JOIN teams t2 ON s.visitorId = t2.teamName
WHERE gameID = '1';

返回结果

enter image description here

知道为什么我的连接得到 NULL 值吗?我在这里缺少什么?任何帮助表示赞赏。

最佳答案

id 应连接到 id(而不是名称):

SELECT s.*,
t1.teamId as homeId_teamId,
t1.teamCode as homeId_teamCode,
t1.teamName as homeId_teamName,
t2.teamId as visitorId_teamId,
t2.teamCode as visitorId_teamCode,
t2.teamName as visitorId_teamName
FROM schedule s LEFT JOIN
teams t1
ON s.homeId = t1.teamId LEFT JOIN
teams t2
ON s.visitorId = t2.teamId
WHERE s.gameID = 1;

gameID 是一个整数,因此应该与数字进行比较,而不是字符串。

我注意到 homeIdvisitorId 的 tpes 与 teams.teamId 不匹配,但命名表明这是正确的条件。如果外键定义正确,那么类型必须匹配。

关于mysql - SQL 左连接返回 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com