在select语句mutliple值中插入值

时间:2015-11-19 12:46:24

标签: sql sql-server database

我尝试插入带有1列的表(从表中选择)。

我应该将所有id复制到table1,其中1列是(从表中选择)

这不起作用:

insert into table1 (id,resoucrce,rate)  values ((select id from table2),0,0)

我想做的事情是将表中的所有id插入到具有默认值的另一个表中。

3 个答案:

答案 0 :(得分:4)

使用insert . . . select

 insert into table1 (id, resource, rate) 
    select id, 0, 0
    from table2;

答案 1 :(得分:2)

要将一个表的内容复制到同一个数据库中的另一个表,请使用以下命令: -

INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE;

或您的查询: -

Insert into table1 (id, resource, rate) select id, 0, 0 from table2;

答案 2 :(得分:0)

您应该关注"值" 关键字;

values ((select id from table2),0,0)

当您使用值(,,,)时,您必须指定值列。但您尝试同时传递结果集单个值在一起。这就是你收到错误的原因。你应该只传递单个值......

如果它清楚你;你可以很容易地找到正确的sql语法。