2012-12-09 101 views
1

我有2個表:如何從2個不同的表中排除結果並顯示結果?

  • T1(總用戶)
  • T2(User_id_that_have_done_something_for_today)

從T1的mysql_query結果是

(Total User) 
----- 
ID 
----- 
| 1 | 
| 2 | 
| 3 | 
| 4 | 
| 5 | 
| 6 | 
| 7 | 
| 8 | 

從T2請求mysql_query是

(logged) 
----- 
user_id_log 
----- 
| 1 | 
| 3 | 
| 4 | 
| 7 | 

如何比較T1和T2並且只顯示未被批准的用戶?

,我想最終的結果是

(result) 
----- 
ID 
----- 
| 2 | 
| 5 | 
| 6 | 
| 8 | 

我花了2天時間,使這項工作,但我不能做到這一點

我有嘗試LEFT JOIN和不是,但結果不是我通緝

請幫幫我,謝謝

回答

0

你可以使用NOT EXISTS

SELECT DISTINCT id FROM T1 WHERE NOT EXISTS (SELECT * FROM T2 WHERE t1.id = t2.id); 
+0

你在3分鐘內完成了!我不能在2天內完成任務。謝謝 –

0

這將這樣的伎倆

SELECT * FROM Users u 
WHERE u.id NOT IN (SELECT l.id FROM logged l) 
0

這將有助於你得到的結果。

select T1.ID from T1 left join T2 on T2.ID = T2.ID where T2.ID IS NULL; 
相關問題