下面的插入查询有什么问题?

我正在try 将雇员值从一个表插入到另一个表.但查询给出了一个错误:

子查询返回多个值.当子查询跟随在=、!=、<、<=、>、>=之后,或子查询用作表达式时,不允许这样做.

DECLARE @EmployeeDetails AS [dbo].[Employee] 
 
INSERT INTO @EmployeeDetails
VALUES ( 101
       )
INSERT INTO @EmployeeDetails
VALUES ( 102
       )

INSERT INTO [dbo].[EmpCopy] (EmpId, Dept)) 
values (
(SELECT EmpId FROM @EmployeeDetails)
,'Sales')

推荐答案

如果要插入另一个表中的所有数据,则不必指定值

正确的语法是:

INSERT INTO [dbo].[EmpCopy] (EmpId, Dept)
SELECT EmpId, 'Sales'
FROM @EmployeeDetails

Sql相关问答推荐

如何将资源密集型自连接转换为更快的查询?

当我们加入两个表时,我们可以省略GROUP BY中的列名吗?

更新在两个或多个面中具有交点的面

Lag()函数的差异:R与SQL(将R代码转换为SQL)

使用列表作为参数进行 Select ,如果为空,则在PostgreSQL中不使用参数进行 Select

我可以在SQL的IN子句中使用比子查询包含的值更少的值吗?

将Dense_RANK列为聚合(非解析)函数(&A)

缺少日期标识

输出连续出现两次以上的行

根据具有特定值的 ID 创建自定义组

在 SQL Server 中查找重复项

什么是 100.它与 100 有什么区别?

复制SQL Server临时表

带有数组输入参数的Snowflake UDF优化

joins 组合多个重复数据删除策略

SQLite 中的过滤运行总和视图

根据开始/结束标记将 GROUP_ID 分配给行

在 Microsoft SQL Server 中,如何只为特定值保留不同的行?

如何使用子查询锁定此查询中的选定行?

在 Snowflake SQL 中计算通货inflating 率