【发布时间】:2016-06-08 09:07:23
【问题描述】:
如何使用 SQL 查询将 SQL Server 表 meterdata 转换为 Result_Table?
MeterData 表存储功率和频率,主键(meterno, date, timeblock),meterno 列有变量号。的价值观。
MeterData 表:
meterno date timeblock power frequency
--------------------------------------------------
89 1-Apr-16 1 500 50.02
89 1-Apr-16 2 100 49.99
90 1-Apr-16 1 200 50.02
90 1-Apr-16 2 300 49.89
Result_Table
date timeblock 89_power 90_power 89_frequency 90_frequency
1-Apr-16 1 500 200 50.02 50.02
1-Apr-16 2 100 300 49.99 49.89
为简单起见,我们假设meterno 列已固定编号。值说(89,90)。我正在尝试以下查询,但没有得到结果。有人可以编辑查询,以便输出是上面的 Results_Table。另外最好请使用数据透视查询来回答。查询是
SELECT
*
FROM
(
SELECT
*
FROM meterdata
) AS P
PIVOT
(
sum (power ) FOR meterno IN (89, 90)
) AS pv1
PIVOT
(
sum (frequency ) FOR meterno IN (89, 90)
) AS pv2
GO
【问题讨论】:
标签: sql-server sql-server-2008 pivot