将列转换为行

Convert column into the rows

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

Question   Sol25A   Sol25B   Sol25C   Sol40A   Sol40B
======================================================
A           1        4          2       6         0
B           2        3          2       1         9
C           6        7          1       0         8
======================================================
Total =    9         14         5       7         17
======================================================

我想要这种形式的结果:

Product   Total
===============
Sol25A      9
Sol25B      14
Sol25C      5
Sol40A      7
Sol40B      17

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

我建议您使用 cross apply 逆轴旋转然后聚合:

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;