我的代码出错:
错误:无法在UPDATE中使用聚合函数
更新pre_project_code:
Update ttemp.TMP_KPIR_F_RT_DETAIL a
set pre_project_code = (
select tt.old_proj_cde
from ttemp.TMP_KPIR_RT_BASE tt
where tt.contr_id = a.contr_id
and tt.row_number = 1
)
WHERE a.renew_type = '專案異動' or a.row_number = MAX(a.row_number)
;
编写此代码的正确方法是什么?
答案 0 :(得分:0)
您没有指定您正在使用的数据库,但以下内容应该符合您的要求:
Update ttemp.TMP_KPIR_F_RT_DETAIL d
set pre_project_code = (select b.old_proj_cde
from ttemp.TMP_KPIR_RT_BASE b
where b.contr_id = d.contr_id and
b.row_number = 1
)
where d.renew_type = '專案異動' or
d.row_number = (select max(d2.row_number) from ttemp.TMP_KPIR_F_RT_DETAIL d2);