以下sql查询不起作用。从孙子表检索多个记录
select UserName
from [User]
where UserID Like
(select UserID
from UserRoles
where RoleID =
(select RoleID
from Roles
where RoleName='Manager'
)
)
在这里,我们正在与3个表User, UserRoles, Roles
。它显示如下错误
子查询返回的值超过1。当 子查询遵循=,!=,<,< =,>,> =或当子查询用作 表达式时,这是不允许的。
我认为'LIKE'后面的子查询更有可能返回多个结果,但在子查询匹配的两种情况下使用'IN'是个好主意。 – 2012-07-18 08:33:49
@AndriyM:是的,你说得对。 *“或者当子查询用作表达式时:......”*在这种情况下,错误的一部分是相关的。 (我认为'LIKE'会出现在错误消息中,但它不会) – 2012-07-18 08:45:51