如果那么和column.Value

时间:2014-05-07 18:11:21

标签: sql sql-server

我需要实现这个小逻辑,让我知道我做得对吗?

If ( Table1.ColA = 2 and Table2.colB = 4)

    Then Table1.ColC = 5

我如何实现这样的东西是SQL?

3 个答案:

答案 0 :(得分:0)

根据您的评论,假设它只在一张表中,它就是

UPDATE Table1
   SET ColC = 5
   WHERE ColA = 2 AND ColB = 4

这只会更新条件为真的行 - 它不会触及任何其他行。

答案 1 :(得分:0)

在SQL Server(和Oracle,但可能不是MySQL)

UPDATE Table SET ColC=
(
    DECODE(Table1.ColA
        2,  DECODE(Table2.ColB
            4,  5
            Table.ColC
        )
        Table.ColC
    )
)

答案 2 :(得分:0)

如果Table1Table2之间存在某种关系,您可以执行以下操作:

UPDATE t1
SET ColC = 5
FROM Table1 t1
JOIN Table2 t2 ON t2.Table1ID = t1.ID
WHERE
    t1.ColA = 2
    AND t2.ColB = 4