我需要一些SQL幫助。我是交易的Java人,我甚至不知道如何提出這個問題。我有3張桌子,叫他們人,孩子,朋友。人是一個ID和一個名稱:SQL外連接一個表與兩個表
| id | name |
---------------------
| 1 | Joe |
讓我們說孩子是一樣的,但用FK回人
| id | personId | name |
-------------------------------------
| 1 | 1 | Frank |
| 2 | 1 | Dan |
和朋友是一回事
| id | personId | name |
-------------------------------------
| 1 | 1 | Will |
| 2 | 1 | Bob |
顯然,這是我真正的問題的簡化版本,但結構是相同的。我需要把所有這些數據在一個SQL拉這樣的,我把它恢復
| personId | personName | childId | childName | friendId | friendName
------------------------------------------------------------------------------------------
| 1 | Joe | 1 | Frank | null | null
| 1 | Joe | 1 | Dan | null | null
| 1 | Joe | null | null | 1 | Will
| 1 | Joe | null | null | 2 | Bob
我曾嘗試多個連接技術,但似乎無法破解它。 SQL從來不是我最好的主題。現在,我正與朋友和兒童名單<>所以顯然這將工作太解析此爲Java對象者:
| personId | personName | childId | childName | friendId | friendName
------------------------------------------------------------------------------------------
| 1 | Joe | null | null | null | null
| null | null | 1 | Frank | null | null
| null | null | 1 | Dan | null | null
| null | null | null | null | 1 | Will
| null | null | null | null | 2 | Bob
凡是允許乾淨的for循環在我的代碼來構建這個。
謝謝!
我不是專家,但有兩個全外連接上person.id = children.personId和person.id = friends.personId應該工作。你試過了什麼,結果是什麼? – mreff555
@ mreff555 this is tagged MySQL – Strawberry