mysql - 如果值与同一表中的不同列匹配,则更新列

标签 mysql sql

我有这张表:

enter image description here

如果 old_campaignID = old_parentID ,我想用 new_campaignID 字段更新 new_parentID

这是一个例子

col A | col B | col C | col D | col E | col F |
1     | 1     | 4     | a     | 7     | NULL  |
2     | 2     | 5     | b     | 2     | NULL  |
3     | 3     | 6     | c     | 8     | NULL  |

所以如果 col b = col E 我想将 col f 填充到 col e 的同一行

结果

col A | col B | col C | col D | col E | col F |
2     | 2     | 5     | b     | 2     | 5     |

我尝试过:

update test1 
set new_campaignID = new_parentID 
where old_campaignID = old_ParentID; 

但是没有成功

最佳答案

您需要加入。我认为您想要的查询是:

update test1 t1 join
       test1 tt1
       on t.old_campaignId = tt1.old_parentId
    set t1.new_campaignID = tt1.new_parentID ;

关于mysql - 如果值与同一表中的不同列匹配,则更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48797790/

相关文章:

mysql - 如何在带有 EF4 的 Visual Studio 2010 中使用 MySQL?

mysql - datediff() 查询多个日期

sql - 如何绑定(bind)由不同 MySQL 查询产生的行?

php - 如何使在Xampp上运行的Php应用程序连接到远程mysql数据库?

mysql - 解决错误can't connect to local MySQL server through socket '/usr/local/zend/mysql/tmp/mysql.sock' (2) in/Applications/MAMP/htdocs

sql - Postgres : upsert a row and update a primary key column

sql - 为什么我在 postgres 中使用随机函数在 select 中获得多条记录?

sql - Golang 上全局数据库连接和每次打开连接的性能差异

c# - LINQ 查询以检查表中所有列中的谓词

mysql - 没有为 discordjs 传递 Sequelize 实例