我们如何在插入过程中从另一个表中选择数据?

swa*_*kar 2 sql-server

我正在尝试使用一些硬编码或静态值的列将数据插入表中,然后从另一个表中选择其余的数据。我试过以下查询:

insert into wtdocversion 
values (( select id from wtdocmaster),'col2','col3');
Run Code Online (Sandbox Code Playgroud)

但这会产生一个错误:

消息 512,级别 16,状态 1,第 1 行

子查询返回了 1 个以上的值。当子查询跟随 =、!=、<、<=、>、>= 或当子查询用作表达式时,这是不允许的。

Mar*_*son 5

您想删除values查询的一部分并执行INSERT\SELECT.

这是非常基本的 SQL,您可以在BOL 中阅读更多相关信息。

INSERT INTO wtdocversion (col1, col2, col3)
SELECT
  id,
  'col2',
  'col3'
FROM wtdocmaster;
Run Code Online (Sandbox Code Playgroud)