1
我有一個MSSQL 2008中有4列readdate,標記名,值和修改值的表。前3個插入由上午8點運行的SQL作業,幷包含數據範圍從前一天的上午7點到當天上午7點的小時平均值。修改後的值可以由用戶通過Web應用程序進行更改。如果範圍有值,然後將它們插入到另一個範圍SQL查詢
我希望能夠查看前幾天的數據,並且修改值欄中是否有值,然後在第二天更新相同的範圍。它始終保持相同的範圍,即如果前24小時的標記名1的修改值發生更改,則第二天將需要在該24小時期的修改值列中顯示相同的值。
下面是我用它來選擇前幾天的時期
SELECT coalesce(amendedValue, value),
readDate,
tagName,
amendedValue,
value
FROM gasdata
WHERE tagname ='35FI8316'
AND readDate
BETWEEN DateAdd(Hour, 7, DateAdd(DAY, DateDiff(DAY, 0, GETDATE()), -1))
AND dateadd(hour, 6, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0))
ORDER BY readDate
我只是不知道如何開始的代碼,我相信它應該是這樣的
如果amendedvalue有中值這個時間段然後更新下一個時間段的修改值。
有點複雜,希望這是有道理的
會,只是尋找的值爲1,你只會更新表? – Silentbob 2013-04-29 12:21:40
@ user2050577 - 是的,但您可以將其更改爲您需要的任何值。 – 2013-04-29 12:24:00
我將不得不將它設置爲null – Silentbob 2013-04-29 12:26:07