私は唯一のクエリを使用してデータを取得しようとしているが、私は私が欲しいものを得ることができません。 私は3つのテーブルを持っています: 私は最大のステップ(IDと名前)ですべての写真のデータを取得したいと思います。 これがない場合、null値はOKです。SQL - 左のジョインのクエリを
Photo table
photo_id | photo_name
---------------------
1 | A
2 | B
3 | C
4 | D
5 | E
Steps table
step_id | step_name
----------------------
1 | AAA
2 | BBB
3 | CCC
4 | DDD
photoStep table
id | photo_id | step_id
----------------------
1 | 1 | 1
2 | 1 | 2
3 | 1 | 3
4 | 3 | 1
5 | 5 | 1
私が持っていると思います結果は
photo_id | photo_name | step_id | step_name
-------------------------------------------
1 | A | 3 | CCC
2 | B | NULL | NULL
3 | C | 1 | AAA
4 | D | NULL | NULL
5 | E | 1 | AAA
私はこのクエリを試してみたが、あまりにも多くの行ので、それが何かを見逃していることである:私が持っている
SELECT * FROM photo p
LEFT JOIN photoStep ps ON ps.photo_id=p.photo_id
この種の結果:
photo_id | photo_name | step_id | step_name
-------------------------------------------
1 | A | 1 | AAA
1 | A | 2 | BBB
1 | A | 3 | CCC
2 | B | NULL | NULL
3 | C | 1 | AAA
4 | D | NULL | NULL
5 | E | 1 | AAA
何か助けていただければ幸いです。前もって感謝します。
この種の問題は、「グループ内で最大」と呼ばれています。 Googleとあなたはあなたの問題を解決するためのさまざまなアプローチをたくさん見つけるでしょう。 –