我試圖建構上表示許多一對多的關係,三個表的查詢:一個很多的具體的過濾一對多的關係
- 用戶
- 組
- user_groups
我需要查詢屬於已定義的組數組成員的用戶,但如果他們是任何其他組的成員,則不要將它們包括在結果中。
所以我想要只在「groupA」,「groupD」和「groupZ」中的用戶,但是如果他們是「groupB」的成員,那麼不要在查詢結果中返回它們。
我知道這個部分:
SELECT user.name
FROM user
JOIN user_groups on user_groups.user_id = user.id
JOIN groups on user_groups.group_id = group.id
但我不知道怎麼寫查詢返回我想確切的結果。我應該提到目標數據庫是一個oracle數據庫,如果這很重要的話。
我去閱讀不同的需求 - 用戶必須在一個,兩個或三個組A,d和Z(不一定全部三個)。當然,這簡化了查詢。 – mathguy
@mathguy ..你可能是對的..我在等待op的澄清,因爲這個問題並不完全清楚。 –