Microsoft SQL Server 简单枢轴-静态列

示例

使用示例数据库中的项目销售表,让我们计算并显示每个产品的总销售数量。

使用group by可以很容易地做到这一点,但假设我们以某种方式“旋转”结果表,即对于每个产品ID,我们都有一个列。

SELECT [100], [145]
  FROM (SELECT ItemId , Quantity
          FROM #ItemSalesTable
       ) AS pivotIntermediate
 PIVOT (   SUM(Quantity)
           FOR ItemId IN ([100], [145])
       ) AS pivotTable

由于我们的“新”列是数字(在源表中),因此我们需要使用方括号 []

这将给我们输出像

100145
4518岁