我知道这个问题:
INSERT INTO table2 (column1, column2, column3)
SELECT column1, column2, column3,
FROM table1
WHERE condition;
我们说,我在table2中至少有5列。我想从table1获取表2中前三列的数据。我可以使用上面的查询来完成此操作。但我还想用table2中的其他2列填充一些存储在变量中的数据。有没有办法这样做? 我想要这样的东西:
INSERT INTO table2 (column1, column2, column3,column4,column5)
VALUES(
SELECT column1, column2, column3,
FROM table1
WHERE condition
, @dataForColumn4, @dataForColumn5)
答案 0 :(得分:2)
您只需将它们包含在SELECT
:
INSERT INTO table2 (column1, column2, column3, column4, column5)
SELECT column1, column2, column3, @column4, @column5
FROM table1
WHERE condition;