以下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