我有这个查询:
SELECT t1.*,
t2.project_time,
t3.obj as start_up_obj,
t3.casting_meeting_date as start_up_casting,
t3.start_up_meeting_date as start_up_meeting_date
FROM table1 as t1
LEFT JOIN table2 as t2
ON t1.obj = t2.nr
LEFT JOIN table3 as t3
ON t1.obj = t3.obj
ORDER BY obj_house_floor ASC
通过此查询,我构建了一个包含大量结果的数组。
现在,我想向其添加此查询:
SELECT start_up_meeting
FROM table1
WHERE obj = :obj
ORDER BY start_up_meeting ASC LIMIT 1
我试过了:
SELECT t1.*,
t2.project_time,
t3.obj as start_up_obj,
t3.casting_meeting_date as start_up_casting,
t3.start_up_meeting_date as start_up_meeting_date,
MIN(t1.start_up_meeting) as min_start_up_meeting
FROM table1 as t1
LEFT JOIN table2 as t2
ON t1.obj = t2.nr
LEFT JOIN table3 as t3
ON t1.obj = t3.obj
ORDER BY obj_house_floor ASC
这个查询只会给我数组中的一个结果。
如何添加MIN(t1.start_up_meeting) as min_start_up_meeting
所有结果?
SELECT t1.*,
t2.project_time,
t3.obj as start_up_obj,
t3.casting_meeting_date as start_up_casting,
t3.start_up_meeting_date as start_up_meeting_date,
t4.min_start_up_meeting
FROM table1 as t1
LEFT JOIN table2 as t2
ON t1.obj = t2.nr
LEFT JOIN table3 as t3
ON t1.obj = t3.obj
CROSS JOIN ( SELECT MIN(start_up_meeting) min_start_up_meeting
FROM table1
WHERE obj = :obj ) t4
ORDER BY obj_house_floor ASC
我不能使用=:obj我应该在On t1.obj = t4.obj上使用吗?
当然。
SELECT t1.*,
t2.project_time,
t3.obj as start_up_obj,
t3.casting_meeting_date as start_up_casting,
t3.start_up_meeting_date as start_up_meeting_date,
t4.min_start_up_meeting
FROM table1 as t1
LEFT JOIN table2 as t2
ON t1.obj = t2.nr
LEFT JOIN table3 as t3
ON t1.obj = t3.obj
INNER JOIN ( SELECT obj,
MIN(start_up_meeting) min_start_up_meeting
FROM table1
GROUP BY obj ) t4
ON t1.obj = t4.obj
ORDER BY obj_house_floor ASC
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句