SQL将2行合并为2列

时间:2014-06-30 03:54:08

标签: sql merge

我有一个包含这样的条目的表:

enter image description here

我想把它变成这样的东西:

enter image description here

无法仅通过群组找到如何执行此操作。我错过了什么吗?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:3)

SELECT Entity,
       MAX(CASE WHEN Type=Auto THEN Value ELSE NULL END) AS ValueAuto,
       MAX(CASE WHEN Type=Manual THEN Value ELSE NULL END) AS ValueMaual
FROM tableName
GROUP BY Entity

答案 1 :(得分:0)

如果我们只有两种类型,

上面的查询返回好的值,如果我不知道表中有多少组,动态地如何处理case语句。

使用UN-PIVOT是解决上述要求的最佳选择。