-2
attendance id status activity
1 0 xyz
2 1 abc
3 2 abc
4 1
我有一個塔,在其中ID是爲前一個唯一值時狀態= 2更新的下一個出席ID和狀態= 2的活性複製到下一個考勤編號即ie 4拷貝列數據到下一行上,當在SQL條件
我該怎麼做?
attendance id status activity
1 0 xyz
2 1 abc
3 2 abc
4 1
我有一個塔,在其中ID是爲前一個唯一值時狀態= 2更新的下一個出席ID和狀態= 2的活性複製到下一個考勤編號即ie 4拷貝列數據到下一行上,當在SQL條件
我該怎麼做?
如果您的意思是您想將狀態複製到下一個數據行。你可以使用這個聲明。我已經添加了一些演示代碼。
CREATE TABLE #temp(attendance_id int identity(1,1), status int, acitivity nvarchar(10))
INSERT INTO #temp(status, acitivity)
VALUES(0, N'xyz'),(1,N'abc'),(2,N'abc'),(3,NULL)
-- see what happens
SELECT t.attendance_id, t.status as oldStatus, ISNULL(shifting.status,t.status),t.acitivity
FROM #temp t
LEFT JOIN (
SELECT status, ROW_NUMBER() OVER (ORDER BY attendance_id) +1 as rn
FROM #temp
) as shifting
ON t.attendance_id = shifting.rn
-- the update itself
UPDATE t
SET status = ISNULL(shifting.status,t.status)
FROM #temp t
LEFT JOIN (
SELECT status, ROW_NUMBER() OVER (ORDER BY attendance_id) +1 as rn
FROM #temp
) as shifting
ON t.attendance_id = shifting.rn
SELECT * FROM #temp
DROP TABLE #temp
首先決定您正在使用的數據庫並正確標記您的問題。 –
好的先生從下一個tym我會盡量活到你的期望。 .....現在你可以幫我在這裏 –
你的意思是你想複製狀態0從出席身份證1到出席身份證2,並且參加者身份證2的狀態是3.是嗎? – Ionic