Sql 获取数组的不同列值
使用下面的查询,我将列值获取到一个数组中。现在我想从中获得不同的列值Sql 获取数组的不同列值,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,使用下面的查询,我将列值获取到一个数组中。现在我想从中获得不同的列值 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); 标记和详细信息 Subm
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);
标记和详细信息
Submission_id Question_no
200 1
200 2
300 2
301 3
302 3
@columns应该是[1,2,3]我建议:
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);
select @columns = string_agg( question_no, ',') within group (order by question_no)
from (select distinct question_no
from marks_details
) md;
是一把小提琴。@DaleK。对