【发布时间】:2013-07-07 08:59:19
【问题描述】:
我有一个包含用户事件信息的表,即每一行都包含一个 ID、用户的开始日期、完成日期和事件编号。示例:
第 1 行:ID 256 |开始日期 13360500 |完成日期 13390500 |事件编号 3
我正在尝试为已完成事件 3 和 2 的用户交叉所有行,但我无法弄清楚为什么我的查询没有返回任何结果:
SELECT table_id FROM table
WHERE table_EventNum = 3
AND table_FinishDate > 0
AND table_id IN (SELECT table_id FROM table WHERE table_EventNum = 2);
这个没有子查询的查询(在底部与其余的行分开)返回一堆非空结果,因为它应该,子查询也返回一堆非空结果(再次,因为它应该)。但是由于某种原因,复合查询根本不返回任何行。我知道IN 命令在任一侧的表达式为 NULL 时返回 NULL,但由于两个查询都返回结果,我不确定还有什么可能导致这种情况。
有什么想法吗?谢谢!
【问题讨论】:
标签: mysql sql sqlcommand intersect