2012-07-24 67 views
0

的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这是4。但我的查询返回null。查询有任何错误?

+1

这文章标题。 – sachleen 2012-07-24 20:53:57

+0

请格外小心格式。如果你是,你很可能会找到自己的错误。 – 2012-07-25 01:19:53

回答

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