微軟SQL 2008R2SQL樞軸多(15)值返回,在短短4列
我已經嘗試了審查所有的樞轉柱,短線有多個值,但沒有什麼似乎是我所需要的 - 這可能是最接近Displaying multiple values into columns in sql server using pivot - 但遺憾的是沒有「結果」,所以我不能肯定。
我的問題
我有我在哪裏查詢2個表
GALFP 16421行,相當靜態的一個新的空間被創建(或填充)多個值增加了一個數據庫 - 目前我我只對這裏的15行感興趣(見下面的灰色部分)。
siteLabel nvarchar 255
siteConnectionString nvarchar 255
LanNo smallint NULL
NodeAddress smallint NULL
LanLabel nvarchar 255
OSLabel nvarchar 255
PointLabel nvarchar 255
item nvarchar 255
pointID int NULL
PV 23496777行,成長很多這是由
PointID int NULL
DataTime datetime NULL
DataValue float NULL
DataValueType tinyint NULL
DataValueStatus tinyint NULL
我有4個查詢,報告和他們選擇基於4喜歡值每15分鐘 - 但4喜歡價值迴歸共有15個組合;
因此,這裏的查詢
SELECT GALFP.PointLabel, PV,DataTime, ROUND(PV,DataValue, 2) AS MinTemp **/* See note about the 4 values */**
FROM PL INNER JOIN GALFP ON PV,PointID = GALFP.pointID
WHERE convert(VARCHAR(10), PV.DataTime,110) like '03%2017' AND
(GALFP.PointLabel LIKE N'%Data Hall%Min Temp (15 minute)%') **/* See note about variants */**
值的1:第1類是MinTemp(如圖所示),第二個是MaxTemp,第3 AvgTemp,第4 RelHumidity
因此,而不是運行4個查詢和複製/粘貼 - 我想回報是標籤,日期/時間,最小值,最大值,平均值,RelHum - 在一個單一的查詢(如果可能)
Simples我聽到你說......支點嗎?然而,數據和查詢變得更糟 - 你可以看到,WHERE子句有一個像它
變種:那麼目前的15倍可能的值是
ALL Room 4 Hum Ave (15 minute)
Room 1 Min Temp (15 minute)
Room 2 Min Temp (15 minute)
Room 3 Min Temp (15 minute)
Room 5 Min Temp (15 minute)
Room 1 Max Temp (15 minute)
Room 2 Max Temp (15 minute)
Room 3 Max Temp (15 minute)
Room 5 Max Temp (15 minute)
Room 1 Hum Ave (15 minute)
Room 2 Hum Ave (15 minute)
Room 3 Hum Ave (15 minute)
Room 4 Hum Ave (15 minute)
Room 5 Hum Ave (15 minute)
Room 6 Hum Ave (15 minute)
所以,如果我轉動的15個值,我得到15列,這不是需要的。我需要能夠擁有所有的民一列中,Max在另一個,平均在另一個溼度在另一個,不管涉及到哪個房間 - 儘管我確實需要知道它是哪個房間,準備報告/圖等等,所以我不能從數據中消除這些。
是的,我知道這可能是更好的標準化,它不是我的設計:(
任何想法?謝謝你在前進!