有2个表格包含以下列:
表1
++++++++++++++++
user_id NUMBER
status_change_date DATE
TABLE2
++++++++++++++++
user_id NUMBER
count NUMBER
status VARCHAR(10)
enter_date DATE
我想要的是找到table1中的行,其中用户的status_change_date不等于“用户的最后一次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。
答案 0 :(得分:2)
试试这个
SELECT * FROM table1 T JOIN Table2 S ON
T.status_change_date <> max(S.enter_date) AND
T.user_id = S.user_id
WHERE S.status= 'closed'