尝试透视 SQL 查询的输出



我需要用列交换行,反之亦然。下面是查询:

SELECT TypeName, value
FROM [RamCustomData]
where Ram = 1024 and TypeName in ('RamType','productionUnitID','version')
order by 2

原始输出:

TypeName            Value
RamType             XYZ
productionUnitID    ABC
version             V123

预期产出

TypeName     RamType        ProductionUnitID      Version
Value         XYZ             ABC                  V123

你能告诉我如何处理这项任务吗?

这是一个标准的枢轴...我们只需要包括TypeName='Value'

根据您的数据,...and TypeName in ('RamType','productionUnitID','version')是可选的

Select TypeName='Value'
      ,*
 From (
         Select TypeName
               ,value
          From  [RamCustomData]
          Where Ram = 1024 
            and TypeName in ('RamType','productionUnitID','version')
      ) src
 Pivot (max(Value) for TypeName in ([RamType],[productionUnitID],[version]) ) pvt

返回

TypeName    RamType productionUnitID    version
Value       XYZ     ABC                 V123

最新更新