[英]I need to update a file with a column from a previous row of data using SQL Server 2008
我已經確定了要使用CTE處理的數據行,並且我嘗試使用上一條記錄中的字段更新當前記錄。 我正在使用row_number
和分區將數據分為相關組。 當我執行編寫的代碼時,每條記錄都會使用完全相同的日期而不是與我在分區中定義的分組相對應的日期進行更新。
WITH numbered AS (
SELECT mfg , serialno1 , datenxt, rowno = row_number()
OVER (PARTITION BY mfg, serialno1 ORDER BY datenxt )
FROM eqhist
)
update dbo.eqhist
set offrdt=b.datenxt
from numbered a
left JOIN numbered b
ON a.mfg=b.mfg and a.serialno1=b.serialno1 and b.rowno = a.rowno - 1
我想走哪一步?
嘗試這種方式。
選擇MFG,SCN,DT1,DT2,RN = ROW_NUMBER()(按MFG,SCN,DT1,DT2的順序)進入RCTE的#RCTE選擇*進入RCTE的#RCTE2更新RCTE設置DT2 =#RCTE2.DT1 #RCTE內部聯接#RCTE2開啟(#RCTE.RN =#RCTE2.RN + 1)選擇*從#RCTE DROP TABLE #RCTE DROP TABLE#RCTE2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.