全部,我在表A INT
中有四列(B INT
,C INT
,D VARCHAR(1)
和TableName
)。我想根据C
中的值将值从A
列移动到B
或D
。因此,如果D = 'A'
我想将C
中的值移至A
。我怎样才能做到这一点?
DECLARE @Column COLUMN;
UPDATE TableName
SET (@Column =
(CASE
WHEN D = 'A' THEN A
WHEN D = 'B' THEN B
END)) = C;
注意。我理解上面是疯狂的,但我试图尽可能清楚地表达问题。我也用尽了我的搜索答案。我不是SQL的新手,但这个让我难过。任何帮助都是一如既往的,非常感谢。
答案 0 :(得分:6)
下面,
UPDATE TableName
SET A = (CASE WHEN D = 'A' THEN C ELSE A END),
B = (CASE WHEN D = 'B' THEN C ELSE B END)
在这种情况下,由于D
一次只有一个值,因此只会更改1列。