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

找出用户标识 10 和用户标识 11 的公共组标识为 4 的查询。但我的查询返回空值。查询有错误吗?

4

1 回答 1

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
于 2012-07-24T20:54:03.190 回答