我是SQL的新手,並且在下面的查詢中遇到困難。我正在嘗試獲取與我的角色ID相同的用戶,但我不希望以下查詢返回我的名字(因此,我在使用AND條件時使用了u.id <> 0)。由於我是管理員用戶,我有多個ROLES(R1,R2和R3)分配給我。我希望查詢返回所有其他具有ROLE R1的用戶。由於子查詢,「列不明確定義..」錯誤。我的問題是 -由於子查詢引起的列定義錯誤
- 這個錯誤的解決方法是什麼?
- 我該如何吸引擁有相同角色ID的用戶?任何人都可以告訴我正確的查詢嗎?
在此先感謝。
SELECT DISTINCT U.FIRST_NAME || ' ' || U.LAST_NAME AS USER_NAME,
U.PHONE AS PHONE,
U.EMAIL AS USER_EMAIL FROM USERS U
INNER JOIN USR_ORG_DOM_ROLE_RELATIONS UODR ON U.ID=UODR.USER_ID
INNER JOIN ROLES R ON R.ID=UODR.ROLE_ID
WHERE
U.DELETED='N'
AND U.DISABLED='N'
AND U.ID<>0
AND R.ID=(SELECT ID FROM ROLES R
INNER JOIN USR_ORG_DOM_ROLE_RELATIONS UODR ON R.ID=UODR.ROLE_ID
INNER JOIN USERS U ON U.ID=UODR.USER_ID
WHERE U.ID=0);
查詢的哪一行是錯誤消息指向? – 2013-04-09 22:23:45