获取数组的不同列值

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

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

  1. DECLARE
  2. @columns NVARCHAR(MAX) = '',
  3. SELECT
  4. @columns+=QUOTENAME(Question_no) + ','
  5. FROM
  6. marks_details order by Question_no
  7. -- remove the last comma
  8. SET @columns = LEFT(@columns, LEN(@columns) - 1);

标记\u详细信息

  1. Submission_id Question_no
  2. 200 1
  3. 200 2
  4. 300 2
  5. 301 3
  6. 302 3

@列应为[1,2,3]

oknwwptz

oknwwptz1#

  1. DECLARE @columns NVARCHAR(MAX) = '';
  2. SELECT @columns += QUOTENAME(Question_no) + ','
  3. FROM (
  4. SELECT Question_no
  5. FROM marks_details
  6. GROUP BY Question_no
  7. ) X
  8. ORDER BY Question_no;
  9. -- remove the last comma
  10. SET @columns = LEFT(@columns, LEN(@columns) - 1);
zdwk9cvp

zdwk9cvp2#

我建议:

  1. select @columns = string_agg( question_no, ',') within group (order by question_no)
  2. from (select distinct question_no
  3. from marks_details
  4. ) md;

这是一把小提琴。

相关问题