我有以下表格:
user (id, firstname, lastname)
follow (id, follower_id, following_id)
现在假设我们有 id 为 1、2、3、4、5 的用户
并且user_id = 1
已经关注用户 2 和 3。
现在我想写一个查询,给我user_id's
我(user_id = 1)
不关注的(4 和 5)。
有人可以帮忙吗。
这应该这样做:
SELECT id FROM user
WHERE
id NOT IN
(
SELECT following_id
WHERE follower_id = 1 --(or you can use any user i, i used 1 to show an example)
)
SELECT * FROM user_table
LEFT JOIN follow_table ON user_table.id = follow_table.following_id
WHERE follow_table.following_id IS NULL
尝试这个:
SELECT * FROM user_table ut
LEFT JOIN follow_table ft ON ut.id = ft.following_id AND ft.follower_id = 1
WHERE ft.following_id IS NULL