我正在尝试将3列转换为2。有什么方法可以用下面的例子来完成吗?还是用另一种方式?
例如。
Year Temp Temp1
2015 5 6转入:
Year Value
Base 5
2015 6发布于 2016-05-04 13:46:56
这就是所谓的不枢轴,枢轴正好相反(使2列变成更多)。
您可以使用一个简单的UNION ALL来完成这一任务。
SELECT 'Base',s.temp FROM YourTable s
UNION ALL
SELECT t.year,t.temp1 FROM YourTable t这是你在评论上所写的内容,如果年份不变,你可以用'2015‘代替它。
发布于 2016-05-04 15:03:18
你的问题有不止一个答案。使用UNION ALL似乎是最简单的解决方案。
我建议阅读这个线程Converting Columns into rows with their respective data in sql server,因为它提供了更多的细节,您可以尝试并测试不同的解决方案是如何为您工作的。
https://stackoverflow.com/questions/37029483
复制相似问题