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中的所有行,其中日期不在清單」。 –