【问题标题】:Trying to pivot output of SQL query尝试旋转 SQL 查询的输出
【发布时间】:2019-07-24 20:42:36
【问题描述】:

我需要将行与列交换,反之亦然。以下是查询:

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

您能告诉我如何完成这项任务吗?

【问题讨论】:

标签: sql-server pivot unpivot


【解决方案1】:

这是一个标准的 PIVOT...我们只需要包含 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

【讨论】:

  • @SKumar 乐于助人
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多