1

我有 2 张桌子:

uid uname
1   alex
2   anna
3   sergey
4   arnold
5   john

mid message  uid
1   hello    3
2   DELETED  3
3   xcvcxv   4
4   bye      1
5   DELETED  2
6   4452     5

我想获取所有消息,但如果消息包含“DELETED”,则从所有消息中排除此消息的用户 ID(在此消息之后不返回来自用户 ID 3 和 2 的消息),使用 JOIN 并且不使用 NOT IN。谢谢您的帮助。

4

1 回答 1

0

这应该选择没有 DELETED 消息的用户的所有消息:

   SELECT m.*
     FROM message m
LEFT JOIN message m2
       ON m2.uid = m.uid 
      AND m2.message = 'DELETED'
    WHERE m2.mid IS NULL;
于 2015-12-11T09:15:06.630 回答