无法解释的 SQL 结果我知道!SQL 有时会很奇怪,并产生奇怪的结果,但这是一条非常简单的 SQL,据说结果也很简单。
我有 3 张桌子。
表 1:一列,是涵盖 2019 年 12 月 31 日至 2023 年 12 月 31 日之间每天的日期列表。
表 2:两列:第 1 列是事件发生的日期,第 2 列是第 1 列日期发生该事件的次数。
表 3:两列:第 1 列是不同事件的日期,第 2 列是第 1 列日期发生该事件的次数。
我想将这三个表合并为一个三列表格(日期、事件 1 的发生次数、事件 2 的发生次数)。
SQL(再简单不过了)
SELECT t1.Date, t2."N Rows", t3."N Rows" AS "N Rows 2"
FROM Date_to_2024 t1
LEFT OUTER JOIN QNs_Opened t2
ON ( t1.Date = t2."Created On" )
LEFT OUTER JOIN QNs_Closed t3
ON ( t1.Date = t3."Completn date" )
表 1:(大量数据发生在 2021 年 10 月 8 日之后)

表 2:(大量数据发生在 2021 年 10 月 8 日之后)

查询结果

表 1 中的数据(“创建于”、“N 行 2”)- 正确。
表 2 中的数据(“完成日期”、“N 行”)- 截至 2021 年 10 月 8 日均正确,此后没有进一步的数据。
我尝试切换表 1 和表 2。我尝试再次导入数据并重新运行查询。我从头开始重新创建查询...没有成功。
有什么想法吗?
数据访问回复:无法解释的 SQL 结果顺便说一句,我已经通过使用“连接表”功能解决了这个问题(连接两个表,然后将第三个连接到结果)。那奏效了。
不过,我想知道 SQL 有什么问题!
回复:无法解释的 SQL 结果诡异的。 如果我运行您的确切查询,我会得到您所期望的。 您使用的是哪个版本的 JMP?

回复:无法解释的 SQL 结果那个是好奇(我复制了它)。 我想知道为什么 2021 年 8 月是事情误入歧途的日期。
回复:无法解释的 SQL 结果@Jed_Campbell你必须再往下看,问题发生的时间是 2021 年 8 月 10 日(或之后)

我也尝试检查 jmps 日期时间值,但仍然是同样的问题

QNs_Closed.jmp有一个空行,删除它后查询开始正常工作。 不知道为什么。


您可以在预览中看到这种情况,创建查询时该行仍然存在,构建查询,打开审核,删除该行并更新预览
回复:无法解释的 SQL 结果谢谢您的帮助。数据中应该有空行,但我可以在运行查询之前用代码删除它。我不确定是否有必要。
将来我会留意这一点,但现在,有两个简单易行的解决方法,