我需要实现这个小逻辑,让我知道我做得对吗?
If ( Table1.ColA = 2 and Table2.colB = 4)
Then Table1.ColC = 5
我如何实现这样的东西是SQL?
答案 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)
如果Table1
和Table2
之间存在某种关系,您可以执行以下操作:
UPDATE t1
SET ColC = 5
FROM Table1 t1
JOIN Table2 t2 ON t2.Table1ID = t1.ID
WHERE
t1.ColA = 2
AND t2.ColB = 4