我有以下表格:多对多关系过滤
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)。
有人可以请帮忙。
我有以下表格:多对多关系过滤
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
你有没有尝试过的解决方案? –
是的,我会说的最好的是票数最多的那个。 –