php - 更新时转空值

标签 php mysql

我有两张 table 。销售和产品 list 。两个表中存在的一些数据是通用的。所以我想做的是更新 tbl 产品列表中的选定字段,其中 tbl 产品列表数据存在于 tbl 销售中。我在下面使用了以下查询,但问题是,如果来自 produclist 的数据不存在于 sales 中,它将变为 null。我正在寻找的是,如果 tbl 产品列表中的数据不存在于 tbl sales 中,它不会变成 null,而是保持更新前的值相同

mysql_query("UPDATE productlist 
SET pleft=pleft+(SELECT SUM(qty) FROM sales 
WHERE (sales.name = productlist.pdesc) 
AND (sales.name1 = productlist.pdesc1))"); 

最佳答案

您想要使用 COALESCE 来获取第一个非空值:

SELECT SUM(COALESCE(qty, 0)) ...

关于php - 更新时转空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19280510/

相关文章:

mysql - 按定制选择 rails 订购

php:从返回的关联数组访问值

php - php if 代码背后的逻辑

php - 如何处理从 pgsql 返回的数组?

php - 使用 Zend_Db 时如何将值设置为 NULL

php - 订购与 child 一起加入的类别名称的最佳方式

php - ISO 3166-1 alpha-2 国家/地区代码的区域名称

php - 我的 PHP 代码在语法上有问题吗?提交后页面变为空白

php - 从有限制的3个表中选择数据

mysql - 无法访问我的 phpMyadmin (MAMP)