You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server中创建行转列的数据透视视图?

SQL Server 行转列创建视图示例脚本

原表数据格式

Asset_ID     Process_ID     Datapoint_Name     Data_Value
27           62             Name               John
27           62             Location           United States

目标视图格式

Asset_ID     Process_ID     Name     Location
27           62             John     United States

方法1:使用CASE WHEN + MAX聚合函数

由于字符串无法用SUM,这里利用MAX提取分组内唯一的字符串值(每个Asset_ID+Process_ID+Datapoint_Name组合仅一条数据,MAX不会改变原内容):

CREATE VIEW vw_TransformedAssets
AS
SELECT
    Asset_ID,
    Process_ID,
    MAX(CASE WHEN Datapoint_Name = 'Name' THEN Data_Value END) AS Name,
    MAX(CASE WHEN Datapoint_Name = 'Location' THEN Data_Value END) AS Location
FROM
    -- 替换为你的实际表名
    YourTableName
GROUP BY
    Asset_ID, Process_ID;

方法2:使用PIVOT运算符

SQL Server内置的行转列语法,同样用MAX处理字符串类型:

CREATE VIEW vw_TransformedAssets
AS
SELECT
    Asset_ID,
    Process_ID,
    [Name],
    [Location]
FROM
    -- 替换为你的实际表名
    YourTableName
PIVOT
(
    MAX(Data_Value)
    FOR Datapoint_Name IN ([Name], [Location])
) AS PivotTable;

说明

  • 两种方法效果一致,可根据习惯选择。
  • 若后续新增其他Datapoint_Name,只需在CASE分支或PIVOT的IN列表中添加对应列名即可。

内容的提问来源于stack exchange,提问作者AlbumBlast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:10:06