Mysql 查询拉回哪些用户不';不符合WHERE语句的标准
我正在从数据库中检索要显示在下拉列表中的用户。我需要所有与正确的组id匹配并且也处于两个特定角色之一的用户。以下是我迄今为止的声明: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
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。