我的問題有點令人困惑,因為我將用一個簡單的例子來解釋。我想在兩列中加入一個表。例如,下面我有兩個具有給定結構的表。
表_01:
ID Type Name Gender
-----------------------------------------
1 Parent Jhon Cena Male
2 Tutor Paige Female
3 Tutor Nikki Female
4 Parent The Rock Male
5 Parent Big Show Male
6 Tutor Brie Female
表_02:
ID Tutor_ID Parent_ID Name Gender
----------------------------------------------------
1 2 1 Oliver Male
2 3 1 Emma Female
3 3 4 Sophia Female
4 7 5 George Male
5 2 4 Isabella Female
6 6 7 Arthur Male
注意:Table_02 中的 Tutor_ID 和 Parent_ID 列是我必須匹配的 Table_01 的主鍵。
現在我想運行一個查詢,該查詢將根據 Table_02 行數在一行中選擇 Child(Table_02) 的 Parent 和 Tutor,并且沒有可用的 Parent 和 Tutor,然后將資料留空但拾取子資料。示例輸出應該是這樣的。
輸出:
T2.ID T2.Name T2.Gender T1.ParentName T1.T1_TutorName
--------------------------------------------------------------------
1 Oliver Male Jhon Cena Paige
2 Emma Female Jhon Cena Nikki
3 Sophia Female The Rock Nikki
4 George Male Big Show --NULL--
5 Isabella Female The Rock Paige
6 Arthur Male --NULL-- Brie
那么這可能嗎,還是我必須為父母和導師制作兩張桌子,這對我來說是最壞的情況。
uj5u.com熱心網友回復:
回答:
所以我嘗試了,這就是答案......
SELECT * FROM Table_02 as T2, Table_01 as P, (SELECT * FROM Table_01 WHERE Type = 'Tutor') as T WHERE T2.Parent_ID = P.ID AND T2.Tutor_ID = T.ID;
這是 LEFT JOIN 的答案...
SELECT *
FROM Table_02 as T2
LEFT JOIN Table_01 as P
ON T2.Parent_ID = P.ID
LEFT JOIN (SELECT * FROM Table_01 WHERE Type = 'Tutor') as T
ON T2.Tutor_ID = T.ID;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453572.html
