如何将多个SQL列合并为一列?

时间:2018-11-25 17:05:40

标签: sql sql-server

我有一个SQL查询“从测试中选择A,B,C,(A + B + C)作为总计” ,结果为enter image description here

如何仅在两列中获得相同的结果

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以“取消枢纽”。我的首选方法是apply

Select v.name, v.value
from Test t cross apply
     (values ('A', A), ('B', B), ('C', C)) v(name, value);

总数不在您的结果集中,但也可以轻松添加。

答案 1 :(得分:1)

您可以使用UNION ALL取消透视。不过我还是更喜欢戈登的解决方案。

SELECT 'A' AS name, A AS [value] FROM Test
UNION ALL
SELECT 'B', B FROM Test
UNION ALL
SELECT 'C', C FROM Test