我在MySQL中有一个名为TableX
的表。 TableX
中有4列。列为ColumnCompare_Now
,ColumnCompare_Past
,ColumnNumber_Now
,ColumnNumber_Past
。
我想编写一个具有以下逻辑的MySQL语句;
If ColumnCompare_Now == 'ActionNeeded' and ColumnCompare_Past == 'ActionNeeded',
then ColumnNumber_Now = `ColumnNumber_Now` + `ColumnNumber_Past`
MySQL知识仅限于简单的Select Where语句。如何在MySQL中实现上述操作?同时,我会在等待StackOverflow成员的帮助时尝试自己解决这个问题。
答案 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');
请试试这个。