テーブルの列を別のテーブルのデータで更新しようとしましたdeletiondate
が、「式がありません」というエラーが表示されます。誰かがこの問題を解決するのを手伝ってくれますか?
deletiondate
基本的に、キーフィールドを別のテーブルと結合してグループ化することで、テーブルの列を更新したいと考えています。日付が01-JAN-0001
1 より大きく、レコード数が 101-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