获取数组的不同列值

a8jjtwal  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(208)

使用下面的查询,我得到一个数组的列值。现在我想从中得到不同的列值。

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);

标记\u详细信息

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

@列应为[1,2,3]

oknwwptz

oknwwptz1#

DECLARE @columns NVARCHAR(MAX) = '';

SELECT @columns += QUOTENAME(Question_no) + ','
FROM (
  SELECT Question_no
  FROM marks_details
  GROUP BY Question_no
) X
ORDER BY Question_no;

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

zdwk9cvp2#

我建议:

select @columns = string_agg( question_no, ',') within group (order by question_no)
from (select distinct question_no
      from marks_details
     ) md;

这是一把小提琴。

相关问题