Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询拉回哪些用户不';不符合WHERE语句的标准_Mysql_Sql_Select_In Clause - Fatal编程技术网

Mysql 查询拉回哪些用户不';不符合WHERE语句的标准

Mysql 查询拉回哪些用户不';不符合WHERE语句的标准,mysql,sql,select,in-clause,Mysql,Sql,Select,In Clause,我正在从数据库中检索要显示在下拉列表中的用户。我需要所有与正确的组id匹配并且也处于两个特定角色之一的用户。以下是我迄今为止的声明: SELECT a.USER_ID AS userid, a.GROUP_ID, a.ROLE, b.ID, b.NAME, b.LAST_NAME FROM b_sonet_user2group a INNER JOIN b_user b ON a.USER_ID = b.ID WHERE a.GROUP_ID = $groupid AND a.ROLE

我正在从数据库中检索要显示在下拉列表中的用户。我需要所有与正确的组id匹配并且也处于两个特定角色之一的用户。以下是我迄今为止的声明:

SELECT a.USER_ID AS userid, a.GROUP_ID, a.ROLE, 
b.ID, b.NAME, b.LAST_NAME FROM b_sonet_user2group a 
INNER JOIN b_user b ON a.USER_ID = b.ID 
WHERE a.GROUP_ID = $groupid 
AND a.ROLE = 'A' OR a.ROLE = 'E'
这会吸引甚至不在组中的用户,我已经输出了$groupid,它显示了正确的数字。我是否在查询的WHERE部分出错?我也得到了一个用户的重复,当他们只出现在用户列表中一次,符合该标准。如果我遗漏了一些简单的东西,请告诉我

谢谢

您必须在上使用

试试这个:

SELECT a.USER_ID AS userid, a.GROUP_ID, a.ROLE, b.ID, b.NAME, b.LAST_NAME 
FROM b_sonet_user2group a 
INNER JOIN b_user b ON a.USER_ID = b.ID 
WHERE a.GROUP_ID = $groupid AND a.ROLE IN ('A', 'E');

你能试试这个吗:

SELECT a.USER_ID AS userid, a.GROUP_ID, a.ROLE, 
b.ID, b.NAME, b.LAST_NAME FROM b_sonet_user2group a 
INNER JOIN b_user b ON a.USER_ID = b.ID 
WHERE a.GROUP_ID = $groupid 
AND (a.ROLE = 'A' OR a.ROLE = 'E')

希望对您有所帮助。

此操作非常有效!我知道它就在声明的这一部分。谢谢您的帮助。@Andy.Welcome:),请您将其标记为答案,以便对其他人有用。。如果允许,我会这样做,只需等待5分钟;)再次感谢。@andy.没问题。。okay@andy根据我的说法,如果您关心性能,您必须使用IN子句,而不是OR。