i have 1 table for Update MAX(TID) and TEDATE = TSDATE - 1
Table1
--------------------------------------------
TID | TSDATE | TEDATE | TLNUM | TLOC
--------------------------------------------
247 | 3-JAN-2022 | 2-JAN-2027 | 111 | LOC1
248 | 5-JAN-2022 | 4-JAN-2027 | 112 | LOC2
249 | 3-JAN-2022 | 2-JAN-2027 | 113 | LOC3
250 | 3-JAN-2022 | 2-JAN-2027 | 114 | LOC4
251 | 7-JAN-2022 | 6-JAN-2027 | 115 | LOC5
i want update TEDATE for MAX TID(251),LNUM(115) the results for this
Table1
--------------------------------------------
TID | TSDATE | TEDATE | TLNUM | TLOC
--------------------------------------------
247 | 3-JAN-2022 | 2-JAN-2027 | 111 | LOC1
248 | 5-JAN-2022 | 4-JAN-2027 | 112 | LOC2
249 | 3-JAN-2022 | 2-JAN-2027 | 113 | LOC3
250 | 3-JAN-2022 | 2-JAN-2027 | 114 | LOC4
251 | 7-JAN-2022 | 6-JAN-2022 | 115 | LOC5
CodePudding user response:
What is MAX(TID)? There's only one row.
Did you mean something like this?
update table1 a set
a.tedate = a.tsdate - 1
where a.tid = (select max(b.tid)
from table1 b
);
