我有三個表,我需要連接在一起並獲得結果的組合。我嘗試過使用左/右連接,但他們沒有給出想要的結果。如何擁有多個連接的多個表
例如:
表1 - 職工
id name
1 John
2 Fred
表2 - STAFFMOBILERIGHTS
id staffid mobilerightsid rights
--this table is empty--
表3 - MOBILERIGHTS
id rightname
1 Login
2 View
和我需要的是這作爲第四Ë結果...
id name id staffid mobilerightsid rights id rightname
1 John null null null null 1 login
1 John null null null null 2 View
2 Fred null null null null 1 login
2 Fred null null null null 2 View
我曾嘗試以下:
SELECT *
FROM STAFFMOBILERIGHTS SMR
RIGHT JOIN STAFF STA
ON STA.STAFFID = SMR.STAFFID
RIGHT JOIN MOBILERIGHTS MRI
ON MRI.ID = SMR.MOBILERIGHTSID
但這僅返回兩行,如下:
id name id staffid mobilerightsid rights id rightname
null null null null null null 1 login
null null null null null null 2 View
能什麼,我試圖實現完成如果是的話如何?
感謝
是STAFFMOBILERIGHTS有效地使人員和MOBILERIGHTS之間的許多一對多的關係,但只會有一個排STAFFMOBILERIGHTS如果權已被授予。目前沒有授予權利,因此沒有排隊STAFFMOBILERIGHTS。 運行您的SQL將返回零行。 – williamsdb 2010-05-09 10:30:43
@williamsdb。啊,對不起, - 你現在要做的更清楚。看我的編輯。 – PaulG 2010-05-09 10:48:08
賓果! 非常感謝,非常完美。現在我要看看我能否理解你所做的。 感謝您的幫助。 Neil – williamsdb 2010-05-09 11:08:12