簡體   English   中英

更新查詢,該查詢將使用同一表的另一條記錄中的值設置記錄中的特定列

[英]Update query that will set specific columns in a record with values from another record of same table

查看此查詢;

update user_data set old_status= 'SNNNNS',
                     user_group='15',
                     default_rate='DEFAULT',
                     entity_num='1001'
where user_name='Dasu';

我知道我可以這樣寫查詢並得到結果,但是我不想寫值。 這些值來自同一表中具有user_name'sys'的另一條記錄。 我想要一個查詢,該查詢將使用“ sys”中的值更新“ Dasu”中的這些特定列。

任何想法?

在Oracle中,可以將merge與自merge一起使用。 另外,您可以在update編寫相關的子查詢:

update user_data
    set (old_status, user_group, default_rate, entity_num) = (select old_status, user_group, default_rate, entity_num from user_data where user_name = 'sys')
where user_name='Dasu';

您可以將選擇嵌套在更新語句中。 例如:

UPDATE Dasu
SET old_status = (SELECT old_status FROM sys WHERE Id = 1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM