如何从2个不同的表中排除结果并显示结果?

时间:2012-12-09 04:25:58

标签: mysql

我有两张桌子:

  • 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而不是IT,但结果不是我想要的

请帮帮我,谢谢

3 个答案:

答案 0 :(得分:0)

这样就可以了解

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

答案 1 :(得分:0)

您可以使用NOT EXISTS

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

答案 2 :(得分:0)

这将有助于您获得结果。

select T1.ID from T1 left join T2 on T2.ID = T2.ID where T2.ID IS NULL;