从SELECT查询结果创建变量

问题描述 投票:0回答:1
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'
    )

如果能得到帮助,我将非常感激。

sql arrays azure variables select
1个回答
0
投票

你可以定义一个表类型的变量

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
© www.soinside.com 2019 - 2024. All rights reserved.