我有这样一个查询:
select d.r_object_id,
(select max(max_date) from (
SELECT max(sys_s.r_modify_date) AS max_date
FROM kc_mission_s mis_s, dm_sysobject_s sys_s
WHERE mis_s.r_object_id = sys_s.r_object_id AND mis_s.ka_document = d.r_object_id
union all
SELECT sys_s.r_modify_date AS max_date
FROM dm_document_s doc_s left join dm_sysobject_s sys_s on doc_s.r_object_id = sys_s.r_object_id
WHERE doc_s.r_object_id = d.r_object_id
)) as maxx
from kc_document_s d
该字段d.r_object_id
在最后一个嵌套查询中不可见。如果中间查询将像这样被删除,它将是可见的:
select d.r_object_id,
(
SELECT max(sys_s.r_modify_date) AS max_date
FROM kc_mission_s mis_s, dm_sysobject_s sys_s
WHERE mis_s.r_object_id = sys_s.r_object_id AND mis_s.ka_document = d.r_object_id
union all
SELECT sys_s.r_modify_date AS max_date
FROM dm_document_s doc_s left join dm_sysobject_s sys_s on doc_s.r_object_id = sys_s.r_object_id
WHERE doc_s.r_object_id = d.r_object_id
) as maxx
from kc_document_s d
但在这种情况下,我不允许选择多行。我应该怎么办?