我有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”,则使用JOIN和NOT NOT从所有消息中排除此消息的用户ID(此消息之后不返回来自用户ID 3和2的消息)。
谢谢您的帮助。

最佳答案

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

   SELECT m.*
     FROM message m
LEFT JOIN message m2
       ON m2.uid = m.uid
      AND m2.message = 'DELETED'
    WHERE m2.mid IS NULL;

关于mysql - MySQL使用连接排除ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34219055/

10-13 09:49