我試圖加入/ UNION /基於第三個映射它們在一起的兩個表中的任何數據。這裏的想法是:關聯Oracle中兩個表的數據使用第三個將它們映射到一起
表USERS包含用戶ID,用戶名和其他一些數據。 表組包含組ID,組名和其他一些數據。
表USERGROUPMAP包含一組映射在一起的用戶ID和組ID,它們對應於USERS和GROUPS中的ID。每個用戶可以在多個組中,每個組可以有多個用戶。
我總是通過將對象或CSV數據存儲在單個字段中來完成此操作,例如,在組中創建一個名爲MEMBERS的列並存儲id1,id2,id3 ...但這就是我提出的。
我不能改變模式...我知道這與JOIN或UNIONs有關,但是我的SQL非常生鏽,所以任何人都可以在這裏幫忙嗎?
我也許半正確的思想 -
SELECT USERS.uid,
GROUPS.gid,
USERGROUPMAP.uid,
USERGROUPMAP.gid
FROM USERS,
GROUPS,
USERGROUPMAP
JOIN ON ((USERS.uid = USERGROUPMAP.uid) AND (GROUPS.gid = USERGROUPMAP.gid))
任何提示嗎? :(..謝謝你們。
編輯,預計IO
USERS表包含了一堆的UID ...... 1,2,3,4,5,等等 組表包含了一堆的GID,1000,1001,1002等
USERGROUPMAP包含對應元組到哪些用戶是其中基團,例如(1,1002)(2,1000)(5,1003)(5,1000)
我想獲得一個用戶組的列表,所以對於這個例子我想得到兩行5,1003和5,1000 ......有意義嗎?
我理解你的表格和結構,但我不知道你在找什麼類型的輸出在這裏。你能提供一個場景和預期的結果嗎? –
是的,一秒鐘,將編輯帖子 – mszaro