gpt4 book ai didi

php - MySQL JOIN 查询在不同数据库上给出不同结果

转载 作者:行者123 更新时间:2023-11-29 18:49:22 25 4
gpt4 key购买 nike

我正在对计算机上本地安装的数据库运行查询,得到的结果与在 AWS RDS 数据库上运行时得到的结果不同。我正在运行:

SELECT SUM(Hours) AS 'TotalHours', Username, Name, Project_Name, Project_Ref, (37.5-SUM(Hours)) AS 'Missing'  
FROM bookings b
JOIN projects p ON b.Project_ID=p.Project_ID
RIGHT JOIN users u ON b.User_ID=u.User_ID
WHERE ((Date BETWEEN '2017-07-01' AND '2017-07-30') OR Date IS NULL)
GROUP BY u.User_ID

当在本地运行时,我会取回用户表中的每个条目,即使他们没有在预订表上进行预订。

当在我的服务器数据库上运行时,我只返回已预订的用户,而不会像执行正确连接时预期的那样输入。

最佳答案

尝试使用LEFT JOIN而不是RIGHT JOIN,并将Date条件放入ON子句中:

SELECT SUM(Hours) AS 'TotalHours', Username, Name, Project_Name, Project_Ref, (37.5-SUM(Hours)) AS 'Missing'  
FROM users AS u
LEFT JOIN bookings AS b ON b.User_ID = u.User_ID AND b.DATE BETWEEN '2017-07-01' AND '2017-07-30'
LEFT JOIN projects AS p ON b.Project_ID=p.Project_ID

我怀疑问题与 usersbookings 表之间的 projectsINNER JOIN 有关.

关于php - MySQL JOIN 查询在不同数据库上给出不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439551/

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