1

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

请帮帮我,谢谢

4

3 回答 3

0

这会成功的

SELECT * FROM Users u
WHERE u.id NOT IN (SELECT l.id FROM logged l)
于 2012-12-09T04:29:06.643 回答
0

你可以使用 NOT EXISTS

SELECT DISTINCT id FROM T1 WHERE NOT EXISTS (SELECT * FROM T2 WHERE t1.id = t2.id);
于 2012-12-09T04:29:51.403 回答
0

这将帮助您获得结果。

select T1.ID from T1 left join T2 on T2.ID = T2.ID where T2.ID IS NULL;
于 2012-12-09T05:02:46.200 回答