SQL Serverを使用して、2つの値を2つの行にスワップします。私に見せてください:
[ord] [name]
1 John
4 Jack
7 Pete
9 Steve
11 Mary
言って、このテーブルをそうするために、「ピート」と「スティーブ」の数字を入れ替える必要があります:
[ord] [name]
1 John
4 Jack
9 Pete
7 Steve
11 Mary
これは簡単な作業のようですが、SQL UPDATE文を書くことはできません。
ベストアンサー
'Peter'
と 'Steve'
がテーブル内で一意である場合、これは次のようになります:
UPDATE TableX
SET ord = ( SELECT MIN(ord) + MAX(ord)
FROM TableX
WHERE name IN ('Peter', 'Steve')
) - ord
WHERE name IN ('Peter', 'Steve')
または(@Erwinによって改善された)
UPDATE TableX
SET ord = ( SELECT SUM(ord)
FROM TableX
WHERE name IN ('Peter', 'Steve')
) - ord
WHERE name IN ('Peter', 'Steve')