在sql中将不同列中的所有行显示为一行和一列

在sql中将不同列中的所有行显示为一行和一列,sql,.net,Sql,.net,我在一个数据库中有一个表,它由姓名、数学、科学、历史等列组成,每个人的分数都显示在其中。 我需要编写一个查询,其中我需要在一行中显示所有内容,如下所示: 安东尼:30,70,60$Raghav:25,30,45等等。。 谁能告诉我怎么做 Declare @result Varchar(max) SELECT @result = COALESCE(@result + '$','')+[name] + ':' + cast(maths as varchar(3)) + ',' + cast(sci

我在一个数据库中有一个表,它由姓名、数学、科学、历史等列组成,每个人的分数都显示在其中。 我需要编写一个查询,其中我需要在一行中显示所有内容,如下所示: 安东尼:30,70,60$Raghav:25,30,45等等。。 谁能告诉我怎么做

Declare @result Varchar(max) 
SELECT @result = COALESCE(@result + '$','')+[name] + ':' + cast(maths as varchar(3)) + ',' + cast(science as varchar(3))  + ',' + cast(history as varchar(3))  
FROM tableName
@结果变量现在包含连接字符串,您可以通过

SELECT @result

请通过添加示例数据来说明这一点。您能告诉我如何查看输出吗?第一个select语句设置值,然后select@result给出result@m哈桑:你能告诉我如何使用while循环得到相同的结果吗?