考慮我有兩個查詢與下面的結果集...第一個結果集是爲學生,所以有關教師的所有列是空的..第二個結果集是有關的相關學生輔導員和列都爲空且二者共享一些常見的列.. 學生:如何合併Oracle的所有聯盟的結果
uid f_name m_name l_name class school Section Dept. Branch Title
1 abc c dey 2 NYU 1 null null null
2 cde d rey 3 CU 2 null null null
3 xyz r mey 4 LSU 3 null null null
老師:
uid f_name m_name l_name class school Section Dept. Branch Title
4 wss c tey null null null Science Biology Asso.Prof
2 cde d rey null null null Arts Music Asso.Prof
5 rrr r jey null null null Science Chemistry Prof
如果您在上面的結果集看,UID 2共同的結果集,這基本上意味着一位教授可以同時也是一名學生......現在我想將這兩個查詢加入/合併成一個通用結果集,稱爲「用戶」,他們基本上是老師和學生。
「用戶」的結果集應該是唯一的UID。如果我使用UNION ALL,將有上UID 2.重複我需要一個查詢,可以合併列單行......結果集應該是:
1 abc c dey 2 NYU 1 null null null
2 cde d rey 3 CU 2 Arts Music Asso.Prof
3 xyz r mey 4 LSU 3 null null null
4 wss c tey null null null Science Biology Asso.Prof
5 rrr r jey null null null Science Chemistry Prof
注以上2,它既有學生和教授的詳細信息在一行...
我如何在Oracle中實現這一目標?感謝你的幫助。
我認爲UNION在這裏不是正確的方法。你的2個查詢的來源是什麼?請顯示SQL。無論是學生還是老師,都有一個存儲「人員」的源表,或者你有兩個不同的表格,這是不好的設計。對於這兩種情況,有兩種不同的方法,我不知道應該選擇哪一種,因爲您沒有提供足夠的信息。 –
@ThomasG這兩個查詢是複雜的連接查詢,但都使用一個常見的來源,稱爲「人員」。但是無法區分一個人是學生還是教師,只是存儲了個人和他的細節。這可能是一個糟糕的設計,但它已經被放置並用於其他數百萬個其他地方......假設有另外兩張桌子,學生和老師......所以內心加入的學生,人員和其他一些與學生相關的桌子給了我所有的學生細節..同樣,內部加入教師表與人,其他人的數據表給我所有的教師的詳細信息。 –
看完整的外部加入學生與老師在uid –