したがって、私は純粋なSQLで外部ジョインのスキルを研究しています(MySQLは私が使用しているDBMSです)。人、住所、電話番号、電子メールの4つのテーブルがあります。すべてはかなり自明です。人々はメインテーブルです、他の3つのすべてのレコードは、外部キーがPeopleテーブルを参照して含まれています。SQL:1対多の関係を持つ外部ジョイン
4つのテーブルすべてで外部結合を実行するクエリを作成したいとします。理想的には、ここで私は結果が見えるようにしたいものです。
Name Address Phone Email
Bob 5 Steel Dr 512-222-1358 [email protected]
Bob 212-333-4444 [email protected]
Bob [email protected]
アイデアは、住所/電話/電子メールの記録が全く繰り返さないことです。 Peopleテーブルの情報は繰り返すことができますが、それはうまくいきますが、他のものからの繰り返しを避けようとしています。
ここでは、私が進めているものの非常に非常に粗いバージョンです。
select p.name, e.email, a.address
from people p
left join email e on p.pid = e.pid
left join address a on p.pid = a.pid
where p.pid = 1;
ただし、動作しません。お互いに一致するすべてのレコードを繰り返します。
私が行っている効果を得る方法はありますか?私は外側のジョイントで少し錆びています。
質問が正しいと思われるようです。 – scaisEdge