gpt4 book ai didi

php - MySQL Left Join NULL 问题

转载 作者:行者123 更新时间:2023-12-01 00:44:26 25 4
gpt4 key购买 nike

我有以下 MySQL 代码:

工作查询

SELECT name, AVG(q1) AS avg 
FROM respondents
LEFT JOIN results_new ON respondents.login_id = results_new.company
WHERE respondents.brand = 'ABC'
AND results_new.sdate = 'MAY2014'
GROUP BY name
ORDER BY avg
DESC

以上工作正常,它带回 35 行并正确显示名称和平均值。

非工作查询

SELECT name, AVG(q1) AS avg 
FROM respondents
LEFT JOIN results_new ON respondents.login_id = results_new.company
WHERE respondents.brand = 'ABC'
AND results_new.sdate = 'NOV2014'
GROUP BY name
ORDER BY avg
DESC

以上返回 结果 - 这是正确的,因为表中没有 `NOV2014' 的数据。

但是,我希望查询返回 35 行,每个名称旁边都有 nameNULL。显然,我认为我的 JOIN 不正确,但我无法弄清楚哪里出错了。

欢迎提出任何建议。

最佳答案

您的 where 子句将您的 left join 转换为 inner join 因为您过滤了联接表中的数据。将此条件放在连接的 on 子句中。

SELECT name, AVG(q1) AS avg 
FROM respondents
LEFT JOIN results_new ON respondents.login_id = results_new.company
AND results_new.sdate = 'NOV2014'
WHERE respondents.brand = 'ABC'
GROUP BY hotel_name
ORDER BY avg DESC

关于php - MySQL Left Join NULL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572968/

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