我想在我的表中添加新的記錄,與之前的記錄相同,只是將時間戳修改為當前的時間戳和新的狀態,我的表看起來像:
我的期望結果是 :
有什么辦法嗎?
任何想法,提前感謝。
任何想法,提前感謝。
uj5u.com熱心網友回復:
嗯 . . . 如果你想在所有的 "3 "上加一個 "4",那么:
如果你想在所有的 "3 "上加一個 "4",那么
insert into t (doc_id, time_stamp, doc_num, doc_status, num_emp)
select doc_id, sysdate, doc_num, 4, num_emp
from t
where doc_status = 3;
如果你想要每個doc_id的下一個 doc_status,那么你需要得到最近的一個,然后加上1:
insert into t (doc_id, time_stamp, doc_num, doc_status, num_emp)
select doc_id, sysdate, doc_num, doc_status 1, num_emp
from (select t.*,
row_number() over(partition by doc_id order by time_stamp desc) as seqnum
from t
) t
where seqnum = 1;
uj5u.com熱心網友回復:
你可以這樣做
INSERT INTO TABLENAME (
COLUMN1
COLUMN2
COLUMN3
)
SELECT>
COLUMN1
COLUMN2
'YOUR VALUE' AS COLUMN 3 ...
FROM TABLENAME
WHERE 'YOUR FILTER HERE'
在過濾器中,你只得到你需要的兩行(例如,在iD上有一個IN子句),你可以在選擇串列中指定你想要的值
。轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/308144.html
標籤:
上一篇:如何翻轉兩行的值?

