2013-12-09 53 views
-2

我有以下表格:多对多关系过滤

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)。

有人可以请帮忙。

+0

你有没有尝试过的解决方案? –

+0

是的,我会说的最好的是票数最多的那个。 –

回答

1

这应做到:

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) 
    ) 
0
SELECT * FROM user_table 
LEFT JOIN follow_table ON user_table.id = follow_table.following_id 
WHERE follow_table.following_id IS NULL 
0

试试这个:

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