[英]Select rows with specific multiple values from the same column?
我有兩個角色不能相互關聯的數據庫,我需要顯示角色沖突的所有用戶。
例如:(id 2)會計師也不能同時是(id 5)培訓師
這必須在不使用CTE的情況下完成
Table a Table b table c
--------------- ------------------- ------------
userID | roleID roleID | conflictID roleID | Role Name
1 2 2 5 1 chef
1 3 2 accountant
1 5 3 driver
2 3 4 barmaid
2 1 5 trainer
3 2
3 3
結果應僅包含同時具有角色2和5的userID
userID
------
1
將b表與a表連接兩次,以獲取具有沖突組合的userID:
select distinct a1.userid
from tableb b
join tablea a1 on b.roleID = a1.roleID
join tablea a2 on b.conflictID = a2.roleID
and a1.userID = a2.userID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.