我尝试使用唯一的查询来获取数据,但我无法得到我想要的数据。 我有3张桌子: 我想得到所有照片数据的最大步骤(ID和名称)。 如果他们没有,可以使用空值。
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
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:2)
您需要在每个"text" : "OS_" + (new Date).getTime()
的{{1}}上LEFT JOIN
执行:
MAX(step_id)