在同一个表中将值从一列插入另一列

时间:2017-05-27 07:14:49

标签: mysql sql postgresql

如何在同一个表中插入值从一列到另一列?

说我有:

Date    |    Suburb    |    Suburb2
010617       Sydney        Parammatta 
010718       Melbourne     St Kilda

我要求:

Date    |    Suburb    |    Suburb2
010617       Sydney        Parammatta  #copy date and suburb2
010718       Melbourne     St Kilda    #copy date and suburb2
010617       Parammatta                #insert
010718       St Kilda                  #insert

换句话说,我想复制'Suburb2和'Date'并分别在'Date'和'Suburb'中将它们作为新行插入。

我知道我可以通过首先复制到临时列并稍后进行清理来实现这一点,但是想知道是否有办法在一个查询中执行此操作?

我试过

INSERT INTO table (date, suburb) SELECT (date, suburb2);

列“日期”不存在错误。

2 个答案:

答案 0 :(得分:0)

尝试:

insert into table(date,suburb) select date,suburb2 from table where suburb2 in ('Parammatta','St Kilda');

注意:where条件可以相应修改,可以在suburbdatesuburb2上设置。

答案 1 :(得分:0)

看起来这只是我的语法关闭了。这很有效:

INSERT INTO table (date, suburb) SELECT date, suburb2 FROM table;