0
我想使用一个唯一的查询获取数据,但我无法得到我想要的。 我有3个表格: 我想用他们的最大步骤(id和名称)获取所有照片数据。 如果他们没有它,空值是好的。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
任何帮助非常感谢。提前致谢。
这种类型的问题被称为“最大的群体”。谷歌,你会发现很多不同的方法来解决你的问题。 –