mysql - 如何用另一个表的值更新表

标签 mysql sql

我有两个表 nol_art 和 #tmpIzm 我想用表 #tmpIzm 中的值更新 nol_art 如果它不为空,否则该值保持不变
我写的代码,但是有一些错误,所以它不起作用:

update nol_art
    set 
        CENA_IZM=if(xd.IZM IS NULL,' ',xd.IZM)
    from
        #tmpIzm xd
        join nol_art a on a.ART_ID=xd.ID_ART
    where 
        a.ART_ID=xd.ID_ART

最佳答案

试试这个:

update nol_art 
    set  
        CENA_IZM=coalesce(xd.IZM, CENA_IZM) 
    from 
        #tmpIzm xd 
        join nol_art a on a.ART_ID=xd.ID_ART 
    where  
        a.ART_ID=xd.ID_ART 

关于mysql - 如何用另一个表的值更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836334/

相关文章:

MySQL查询优化: UNION with rand()

java - 如果ResultSet取值并存储在内存中,为什么关闭后无法使用ResultSet对象?

mysql - MySQL 是否与 EF Core 2.0 兼容?

mysql - 依靠多个连接表

sql - ASP.NET Web API 数据库未在 localdb 中创建

sql - 在 InnoDB 上实现类全文搜索的任何方法

mysql - 将子查询转换为 INNER JOIN

sql - 我如何设计一个像 Stack Overflow 上那样的评论系统?

mysql - SQL,如何查找列值的变化

sql - postgreSQL 查询 - 在记录的任何字段中查找 id 的存在