【发布时间】:2023-01-16 18:56:48
【问题描述】:
我的 SQL 查询有问题。 我想选择每个有未读消息的用户。
我有三张桌子
- 用户
- 留言
- object_visited(有条目 [user_id,message_id],如果用户已阅读消息)
所以我选择了消息,我需要的是每个用户
- 不在 object_visited(简单)中,或者
- 没有我选择的每条消息的条目。
我面临的问题是,我根本无法想象我需要如何过滤并将这些表连接在一起以获得所需的结果。
编辑:
用户:
user_id user_name 11111 User1 22222 User2 33333 User3 消息:
message_id content aaaaa Hello World bbbbb This is a message ccccc test test 123 object_visited:
user_id message_id 11111 aaaaa 11111 bbbbb 11111 ccccc 33333 aaaaa 33333 ccccc 用户 1 已阅读所有消息,用户 2 未阅读任何消息,用户 3 未阅读bbbbb(这是一条消息).
查询应返回:
user_id 22222 33333 因为他们没有针对每条消息的条目 object_visited。
【问题讨论】: