SQLヘルプが必要です。私は貿易によってJavaの男です、そして、私は本当にこの質問をする方法さえ知らない。私は3つのテーブルを持っている、それらを人、子供、友達と呼んでください。人はIDと名前です:SQL外部結合テーブル2つのテーブル1つ
| id | name |
---------------------
| 1 | Joe |
レッツは、子供たちが同じであると言うが、バックの人にFK
| id | personId | name |
-------------------------------------
| 1 | 1 | Frank |
| 2 | 1 | Dan |
や友人と明らかに
| id | personId | name |
-------------------------------------
| 1 | 1 | Will |
| 2 | 1 | Bob |
これと同じものです私の本当の問題の簡略版ですが、構造は同じです。私はテクニックに参加このバック
| 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
私が試してみました、複数を得るように、1つのSQLプルで、このデータのすべてをプルする必要があるが、それをクラックに見えることはできません。 SQLは決して最善の問題ではありませんでした。今、私は明らかに、これはあまりにも動作します友人や子供たちの一覧<>とJavaオブジェクトの人にこれを解析しています。これを構築するために私のコードでは、forループきれいにできるようになります
| 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
何かを。
ありがとうございます!
を私は専門家だが、2つの完全外部に加入person.id = children.personId 10あなたはこれをacheiveするLEFT JOINを使用することができますperson.id = friends.personIdが動作するはずです。あなたは何を試しましたか、どんな結果が得られましたか? – mreff555
@ mreff555これはタグが付けられていますMySQL – Strawberry