gpt4 book ai didi

MYSQL LEFT JOIN 只返回连接表中的一行

转载 作者:行者123 更新时间:2023-11-29 02:42:07 30 4
gpt4 key购买 nike

我有以下 SQL 查询,每个站点只返回一个单位,每个站点应该有 10-20 个单位:

SELECT site.*, units.*
FROM site
LEFT JOIN units
ON site.id=units.id
WHERE site.submitted='1' AND unit.color ='Green'
ORDER BY site.time DESC
LIMIT 0,100;

最佳答案

我的猜测是 WHERE 子句过早地过滤掉了您希望出现在结果集中的记录。尝试将 WHERE 逻辑移动到 ON 子句中:

SELECT s.*, u.*
FROM site s
LEFT JOIN units u
ON s.id = u.id AND
u.color = 'Green'
WHERE s.submitted = 1
ORDER BY s.time DESC
LIMIT 0, 100;

我在查询中引入了别名(即 u 代表 unitss 代表 site),这有助于使其更易于阅读。

关于MYSQL LEFT JOIN 只返回连接表中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49290247/

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