比较2列,然后对MySQL中的另一列执行操作

时间:2014-11-14 05:50:02

标签: mysql

我在MySQL中有一个名为TableX的表。 TableX中有4列。列为ColumnCompare_NowColumnCompare_PastColumnNumber_NowColumnNumber_Past

我想编写一个具有以下逻辑的MySQL语句;

    If ColumnCompare_Now == 'ActionNeeded' and ColumnCompare_Past == 'ActionNeeded', 
          then ColumnNumber_Now = `ColumnNumber_Now` + `ColumnNumber_Past`

MySQL知识仅限于简单的Select Where语句。如何在MySQL中实现上述操作?同时,我会在等待StackOverflow成员的帮助时尝试自己解决这个问题。

2 个答案:

答案 0 :(得分:1)

我不完全确定我知道你要完成什么。如果要选择包含此信息的新列,可以使用case语句:

select 
    case when ColumnCompare_Now = 'ActionNeeded' 
              and ColumnCompare_Past = 'ActionNeeded'
         then ColumnNumber_Now + ColumnNumber_Past
         else ColumnNumber_Now
    end as ColumnNumber_Now 
from tablex

如果您在update查询中需要此功能:

update tablex
set ColumnNumber_Now = ColumnNumber_Now + ColumnNumber_Past
where ColumnCompare_Now = 'ActionNeeded' 
    and ColumnCompare_Past = 'ActionNeeded'

答案 1 :(得分:1)

     update TableX set ColumnCompare_Now=(select (ColumnNumber_NOw+ColumnNumber_Past) where ColumnCompare_Now=='ActionNeeded and ColumnCompare_Past=='ActionNeeded');

请试试这个。