0
什么有2个表有以下的列:
TABLE1不能得到我想要使用SQL子查询
++++++++++++++++
user_id NUMBER
status_change_date DATE
TABLE2
++++++++++++++++
user_id NUMBER
count NUMBER
status VARCHAR(10)
enter_date DATE
我要的是找出在表1的行其中用户的status_change_date不等于“用户的状态为'closed'的最后一个enter_date”。
我写了下面的SQL
SELECT * FROM table1 a WHERE status_change_date <>
(SELECT max(enter_date) FROM table2 b
WHERE a.user_id = b.user_id AND b.status='closed');
但是,结果是一个列表user_id说明的是,status_change_date等于与地位的最后enter_date“关闭”。
你能举个例子的数据? – PeterRing
你可能并不这么认为,但实际上并没有检查到user_ids在外部查询中是否匹配。这样想,你问的是:“首先建立一个所有最大enter_dates的列表,其中表b中的user_id在表a中,然后向我显示表a中的所有行,其中日期不在清单”。 –