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'
)
如果能得到帮助,我将非常感激。
你可以定义一个表类型的变量
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