根据数据另一列更改一列中的值

时间:2018-05-16 06:29:57

标签: sql oracle

如何在同一个表中将值从一列更新到另一列? 说我有:

ID   |    GROUPNAME   |   GROUPNAME 1
010617   010617_ADMIN   010617_group
010618   010618_ADMIN   010618_group

我的意思是从ID中取值,并按照该顺序从组名和组名2开始。我有近2000条记录。只想在一个查询中执行。 提前致谢

3 个答案:

答案 0 :(得分:0)

UPDATE yourtable SET groupname = CONCAT(ID,'_ADMIN'), groupname1 = CONCAT(ID,'_group')   

有条件

    UPDATE yourtable SET groupname = CONCAT(ID,'_ADMIN'), groupname1 = CONCAT(ID,'_group') WHERE ...  

答案 1 :(得分:0)

关于术语的说明,如果你说INSERT人们考虑插入新行;你想要做的是更新现有的行。

在Oracle中,

UPDATE my_table SET GROUPNAME=concat(ID,'_GROUPNAME'), "GROUPNAME 1"=concat(ID, '_ADMIN');

答案 2 :(得分:0)

您可能需要考虑使用此

的虚拟列

例如

create table XXXXX

(
    ID VARCHAR2(5),
    GROUPNAME as ("ID"||'_ADMIN')
)