繁体   English   中英

根据字段值更新列

[英]Updating a COLUMN Based on a Field Value

全部,我在表TableName有四列( A INTB INTC INTD VARCHAR(1) )。 我想根据D的值将列C的值移动到AB中。 因此,如果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并不陌生,但这使我感到困惑。 一如既往,非常感谢您的帮助。

这里,

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列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM