繁体   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