如何在同一个表中将一列的值插入到另一列?
假设我有:
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);
但得到一列"日期"不存在错误。
尝试:
insert into table(date,suburb) select date,suburb2 from table where suburb2 in ('Parammatta','St Kilda');
注意:where
条件可以相应地修改,并且可以在suburb
、date
或suburb2
上设置。
看起来只是我的语法不对劲。这奏效了:
INSERT INTO table (date, suburb) SELECT date, suburb2 FROM table;