选择行的最简单方法是什么,修改几列并将其插入到同一个表中? 我试图根据另一行插入新行。
答案 0 :(得分:38)
INSERT INTO table2 (column1, column2, column3)
SELECT column1, 'no', column3 FROM table2 WHERE column2 = 'yes'
希望这对你如何做到这一点有点清楚。如您所见,我从table2中抓取了两列,而对于另一列,我使用了文本值而不是column2的值。
您可以使用的其他模式:
合并列和其他一些文本(假设列已经是字符串数据类型。
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', column2 FROM table2 WHERE column2 = 'yes'
组合一个列和一些文本,一个例子是列是一个字符串而另一个例子不是。
INSERT INTO table2 (column1, column2)
SELECT column1 + 'no', 'A' + cast(column2 as Varchar (10)) FROM table2 WHERE column2 = 'yes'
答案 1 :(得分:7)
INSERT INTO table(column1,column2) SELECT column1, const2 FROM table ...
选择列表可能会混合复制的列(按名称)和更改的列(按所需的值)。
答案 2 :(得分:2)
Say column is int
INSERT INTO table(column1,column2) SELECT column1 + 1, column2 -1 FROM table
您可以乘以列并执行字符串函数。