使用SQL存储过程将不同的列值获取到数组中

问题描述 投票:0回答:1

使用下面的查询,我将列值存储到数组中。现在,我想从中获取不同的列值。

DECLARE
@columns NVARCHAR(MAX) = '',

SELECT 
@columns+=QUOTENAME(Question_no) + ','
FROM
marks_details  order by Question_no

-- remove the last comma
SET @columns = LEFT(@columns, LEN(@columns) - 1);

marks_details

Submission_id   Question_no
    200             1
    200             2
    300             2
    301             3
    302             3

@列应为[1,2,3]

sql sql-server stored-procedures
1个回答
0
投票
DECLARE @columns NVARCHAR(MAX) = '';

SELECT 
  @columns += QUOTENAME(Question_no) + ','
FROM (
  select Question_no
  from marks_details
  group by Question_no
)
order by Question_no;

-- remove the last comma
SET @columns = LEFT(@columns, LEN(@columns) - 1);
© www.soinside.com 2019 - 2024. All rights reserved.