gpt4 book ai didi

php - MySQL 在两个日期之间选择未按预期工作

转载 作者:行者123 更新时间:2023-11-29 00:55:40 25 4
gpt4 key购买 nike

我正在尝试创建一个将选择两个日期之间的所有日期的查询
这是我的查询:

$query = "SELECT DISTINCT * FROM D1,D2
WHERE D1.DATE_ADDED BETWEEN '$date1' AND '$date2' AND D1.D1_ID = D2.D2_ID";

问题是,它没有返回任何东西,但也没有产生错误

所以我尝试像这样将它直接输入到 phpMyAdmin 中

SELECT DISTINCT * FROM D1,D2
WHERE D1.DATE_ADDED BETWEEN '2011-01-01' AND '2011-12-12'
AND D1.D1_ID = D2.D2_ID`

然后像这样

SELECT DISTINCT * FROM D1,D2
WHERE D1.DATE_ADDED BETWEEN '2011-01-01' AND '2011-12-12'

像这样

SELECT * FROM D1
WHERE DATE_ADDED BETWEEN '2011-01-01' AND '2011-12-12'

我刚刚得到

MySQL returned an empty result set (i.e. zero rows). ( Query took 0.0003 sec )

是的,我的表存在,列也存在 :)

最佳答案

在第一种情况下,缺少结果可能是因为内部联接。对于要在集合中的结果,它需要在两个表中都有记录,即。来自 d1 的记录不会出现,除非 d2 在 d2_id 列中也有该 ID。要解决此问题,如果这对您的业务逻辑是正确的,请使用 left join

但是,您的最后一个案例(没有连接)表明原因是第一个(左)表 d1 中缺少匹配记录。

没有完整的数据集,我们无法真正进一步评论,因为您运行的所有代码都是完全有效的。

关于php - MySQL 在两个日期之间选择未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278001/

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