我尝试deletiondate
使用另一个表中的数据更新表列,但出现“缺少表达式”错误。有人可以帮我解决这个问题吗?
基本上我想deletiondate
通过将关键字段与另一个表连接并进行分组来更新表中的列。如果日期是01-JAN-0001
并且记录数 > 1,则需要更新01-JAN-0001
,否则我需要更新最大删除日期值。
我使用的更新声明:
update table1 db1 set deletiondate =
SELECT
CASE WHEN count(*)>1 and (
(select 1
from table2 b
where b.loginid = a.loginid
and a.creationdate = b.creationdate
and b.deletiondate = '01-JAN-0001'
) = 1) THEN '01-JAN-0001' ELSE to_char(MAX(deletiondate),'DD-MON-YYYY') END as deletiondate1
FROM table2 a
GROUP BY a.loginid, a.creationdate
WHERE db1.userloginid = a.loginid and db1.usercreationdate = a.creationdate