users_groups表
userid groupid
10 4
10 2
6 4
11 4
12 2
13 2
$query="SELECT count(*) FROM `users_groups`
WHERE `userid`='$fromuserid'
AND `groupid` in (
SELECT `groupid`
FROM `users_groups`
WHERE `userid`=`$touserid
);";
$ fromuserid = 10
$ touserid = 11
查找用户ID 10和用户ID 11的公共groupid的查询,但是我的查询返回null。查询有什么错误吗?
答案 0 :(得分:3)
您的查询中存在语法错误。在子选择中有一个额外的反推。
SELECT count(*)
FROM `users_groups`
WHERE `userid`='$fromuserid'
AND `groupid` in (SELECT `groupid` FROM `users_groups` WHERE `userid`=`$touserid)
-- ^
-- here
应该是这样的:
SELECT `groupid` FROM `users_groups` WHERE `userid`=$touserid