我不知道如何描述我的表結構,所以希望這是有道理的...如何做外部加入> 2表(甲板)
我有3個表中的層次關係,使A與B有一對多的關係,而B又有與C的一對多關係。技巧是允許B和C中的外鍵爲空(即沒有父定義)。我也有D和E,與A,B或C無關(直接)。
最後,我有F是一個與C,D和E具有多對一關係的連接表。它的任何字段(FK到其他表)都不可空。
我想編寫一個SQL語句,將單個結果集中的所有表連接起來。我知道我必須用戶外連接,因爲我希望所有的A與B和C.
問題一,無論它是否有B中的兒童和類似返回:我一直在尋找的ANSI外部聯接語法(我以前只使用Oracle「(+)」),並且找不到外部連接超過2個表的示例。有人可以提供/指出一個例子嗎?
問題二:是否可以根據連接表F包含來自表D和表E的記錄?如果是這樣,這是用外部連接完成的嗎?
謝謝!
編輯
當然,我張貼此之後,我發現,回答問題。然而,問題2仍然難倒我的例子。
例子:
SELECT A.a,
B.b,
C.c
FROM A
FULL OUTER JOIN B ON B.a = A.a
FULL OUTER JOIN C ON C.b = B.b
你可能不想要FULL OUTER JOIN;它存在,但它很少使用(或有用)。 – 2010-09-15 21:00:37
您尚未指定F中的哪些列與其他每個表加入 - 這意味着沒有人可以給出明確的答案。 – 2010-09-15 21:02:46
您可以發表一些樣本數據和您想要的記錄集嗎? A,B和C都不是很有意義的名字。 – Quassnoi 2010-09-15 21:02:54