Sql server 为变量赋值的SELECT语句不能与数据检索结合使用?

Sql server 为变量赋值的SELECT语句不能与数据检索结合使用?,sql-server,stored-procedures,Sql Server,Stored Procedures,错误:为变量赋值的SELECT语句不能与数据检索操作结合使用。 我从下面的MS SQL存储过程子查询中得到错误。这是什么意思?如何解决这个问题 declare @pool_ids varchar(20); select @pool_ids = Pool_ID from wcpacker.Fruit_Pools where Pool_ID-@Pool_ID >= -2

错误:为变量赋值的SELECT语句不能与数据检索操作结合使用。 我从下面的MS SQL存储过程子查询中得到错误。这是什么意思?如何解决这个问题

declare @pool_ids varchar(20);
    select @pool_ids = Pool_ID from wcpacker.Fruit_Pools 
                                   where Pool_ID-@Pool_ID >= -2
                                     AND Pool_ID-@Pool_ID <>  0
                                     AND Pool_ID < @Pool_ID  
     union  select top 3 Pool_ID from wcpacker.Fruit_Pools
                                   where Pool_ID >= @Pool_ID)

我认为你需要重新组织这个系统,选择一点。。。做:

set @pool_ids = (select Pool_ID from .... )

那应该行。

我想你需要重新组织一下选择。。。做:

set @pool_ids = (select Pool_ID from .... )

这应该行。

您希望这个查询会发生什么?所需的结果或赋值是什么?您需要决定要执行的操作-是要赋值变量还是要返回3行?此查询的预期结果是什么?所需的结果或赋值是什么?您需要决定要执行的操作-是要赋值变量还是要返回3行?除非是在将返回的4行中指定任意池ID的值。True。他想得到什么结果?一个值还是一个数组?这是一个我无法回答的问题。除非它将从将返回的4个值中分配任意池ID的值。True。他想得到什么结果?一个值还是一个数组?这是一个我无法回答的问题。