我想交换表中两行中的值。我有两行的行ID。是否有任何查询可以做到这一点?这是一个例子。在查询之前,我有这个:
第1行:1、2、3 第2行:5、6、7
交换之后,我想要这样:
第1行:5、6、7 第2行:1、2、3
如果要将两个已知ID的值从一行交换到另一行,请尝试以下操作:
--need to store the original values SELECT *,CASE WHEN id=123 then 987 ELSE 123 END AS JoinId INTO #Temp FROM YourTable WHERE ID in (123,987) --swap values UPDATE y SET col1=t.col1 ,col2=t.col2 FROM YourTable y INNER JOIN #Temp t ON y.id =t.JoinId WHERE ID in (123,987)