2015-01-07 35 views
0

我在SQL Server表如下數據:交換值

Name   D/C  Code 

Expenses  Debit  10000 
Expenses  Credit 20000 
Transport Debit  50000 
Transport Credit 60000 

我想交換這樣的代碼列值:

Name  D/C  Code 

Expenses Debit  20000 
Expenses Credit 10000 
Transport Debit  60000 
Transport Credit 50000 

有沒有辦法使用SQL UPDATE命令執行此操作?

+0

創建一個臨時的記錄,從第二行插入值。從第二行的值更新第一行。並更新該臨時記錄的第二行。第3次和第4次相同。 –

回答

0

如果您有標識列,試試這個

update t1 
set 
t1.code=t2.code 
from your_table as t1 inner join your_table as t2 
on t1.name=t2.name 
where t1.[D/c]='Debit' and t2.[D/c]='Credit' and t1.id_col=t2.id_col-1 
+0

對不起,t2是什麼?我在這裏只有一張桌子。 – user3543512

+0

它是你的表的別名。我已經用別名t1和t2使用了同一個表twicw – Madhivanan

+0

謝謝。如何t1.id_col = t2.id_col-1? – user3543512