从一个表中获取数据,通过MYSQL中的其他表对其进行过滤

时间:2014-11-14 08:31:27

标签: php mysql join

表1

userid name
1      Dharam
2      James
3      Ramesh
4      David

表2

follower(id) following(id)
1            2
2            1
2            3
3            4

在这里,我对所有用户都有表1 ,对于跟踪对象的人有表2

我希望得到结果

  

显示来自'表1'的用户 WHERE '表1'用户不应该已经关注同一个人

方法,让用户1 未关注的用户表1 过滤表2

结果

3
4

2 个答案:

答案 0 :(得分:0)

使用:内部查询

SELECT * from users WHERE user_id NOT IN (
               SELECT user_id_foreign_key FROM follow_details)

答案 1 :(得分:0)

或者你可以使用join

来完成
 SELECT t1.userid, t2.follower
 FROM tbl1 AS t1 
      LEFT JOIN tbl2 ON t1.userid = t2.follower
 HAVING follower IS NOT NULL