Sql 将列转换为行

Sql 将列转换为行,sql,sql-server,tsql,unpivot,Sql,Sql Server,Tsql,Unpivot,这是我查询的当前结果集: 问题Sol25A Sol25B Sol25C Sol40A Sol40B ====================================================== A 14 2 6 0 B233219 C 6 7 1 0 8 ====================================================== 总数=9145717 ================================================

这是我查询的当前结果集:

问题Sol25A Sol25B Sol25C Sol40A Sol40B
======================================================
A 14 2 6 0
B233219
C 6 7 1 0 8
======================================================
总数=9145717
======================================================
我想要这个表格的结果:

产品总数
===============
Sol25A 9
Sol25B 14
SOL25C5
Sol40A 7
Sol40B 17

请您为我提供查询,这将对我有很大帮助。

我建议您使用
交叉应用取消PIVOT,然后聚合:

select product, sum(val)
from t cross apply
     (values ('Sol25A', Sol25A), ('Sol25B', Sol25B), ('Sol25C', Sol25C),
             ('Sol40A', Sol40A), ('Sol40B', Sol40B)
     ) v(product, val)
group by product;

因此,它不是一个代码编写服务。你需要做一些研究,尝试一下,只有当你陷入困境时才发布一个问题。正如你对第一个问题的评论。事实上这个问题和你的第一个问题很相似?除了您的尝试之外,您还应该用文字解释您的逻辑。最好自己构建查询,如果它不起作用,请向我们展示,然后让它修复。因此,代码编写服务.UNION与GROUP BY并非完全相同。