从select查询结果创建变量

7gs2gvoe  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(345)
SELECT DISTINCT 
[State_IDs]

FROM [Database].[dbo].[enrollment]
WHERE [Market_State] = 'CO'

我想知道如何从select查询中声明变量。。。具有多个返回/行。
我想把它当作一个数组(?)。。。我想提取状态id列表,将其声明为变量,以便稍后在代码中从没有这些筛选选项的其他表中提取数据时使用它。
下面的代码引发了“子查询返回的值超过1”错误:

DECLARE @CO_IDS VARCHAR(25)
SET @CO_IDS =
    (   
        SELECT DISTINCT 
        [State_IDs]

        FROM [Database].[dbo].[enrollment]
        WHERE [Market_State] = 'CO'
    )

任何帮助都将不胜感激。

7d7tgy0s

7d7tgy0s1#

可以定义表类型变量

DECLARE @CO_IDS table(CO_ID VARCHAR(25)); 

Insert Into @CO_IDS (CO_ID)
SELECT DISTINCT [State_IDs]
FROM [Database].[dbo].[enrollment]
WHERE [Market_State] = 'CO'

Select CO_ID from @CO_IDS

相关问题