我很难思考如何将我需要的结果从 CTE 转换为 Pivot。我有一个包含以下字段的表:
ReadingDescription Varchar(50)
ReadingDate datetime
ReadingValue int
数据如下所示:
MinDemand 1-1-2012 250
MaxDemand 1-1-2012 300
MinDemand 1-2-2012 260
MaxDemand 1-2-2012 310
MinDemand 1-3-2012 250
MaxDemand 1-3-2012 300
MinDemand 1-4-2012 260
MaxDemand 1-4-2012 310
我需要一个如下所示的输出:
ReadingDate MinDemand MaxDemand AvgDemand
1-1-2012 250 300 275
1-2-2012 260 310 285
1-2-2012 250 300 275
1-2-2012 260 310 285
我一直在研究,我认为我已经接近但无法通过 CTE 部分。这是我到目前为止所拥有的:
with cte as (
SELECT
CONVERT(DATE,h.ReadingDate,1) as ReadingDate,
left(ReadingDescription,11) as Reading,
h.ReadingValue
FROM
FAC_WeeklyReadings wr
JOIN
FAC_WeeklyReadingsHistory h ON h.WeeklyReadingID = wr.WeeklyReadingID
where
wr.WeeklyReadingID in (149,150)
AND
h.ReadingDate BETWEEN '1-1-2012' AND '12-31-2012'
)
pivot(
--I have tried several things here but have not been successful
--
) p