mysql join查询帮助

时间:2011-03-20 07:24:47

标签: mysql join

我正在使用mysql db。 我有2张桌子。 我正在构建一个用户建议列表,从2个表中选择用户列表。 首先table (users)拥有用户信息。 第二个table (followers)包含以下列表。 我需要选择建议

我的查询就像

SELECT a.*, b.userid, b.friendid, a.userid 
FROM users a,followers b 
WHERE a.userid != '$uid' 
AND (b.friendid != a.userid AND b.userid != '$uid')

但是此查询还会返回所有数据,包括已经跟踪过的用户。

请帮帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您没有加入这两个表,因此您将获得WHERE子句未排除的所有内容。

您的问题有点不清楚,但我怀疑您正在寻找:

SELECT a.*, b.userid, b.friendid, a.userid 
FROM users a,followers b 
WHERE a.userid != '$uid' 
AND b.userid = a.userid
AND b.friendid != a.userid

答案 1 :(得分:0)

尝试

select * from users 
 where userid != '$uid' and 
 userid not in (select friendid from followers where userid='$uid')