mysql - 从 select sql 创建更新查询

标签 mysql sql

我做了一个选择查询来查找哪些产品在没有组合时具有引用集,并且希望从结果中将该值更新为 NULL。

有人知道如何构建更新查询吗?

选择查询:

SELECT 
  `id_product_supplier` , `id_product` , `id_product_attribute` ,
  `product_supplier_reference` , COUNT( `product_supplier_reference` )
FROM `ps_product_supplier`
GROUP BY `id_product`
HAVING COUNT( `product_supplier_reference` ) >1
AND `id_product_attribute` =0
AND `product_supplier_reference` >0

我希望结果中有一个 product_supplier_reference = NULL 的更新。

最佳答案

试试这个

update ps_product_supplier  tt inner join(
SELECT 
`id_product_supplier` , `id_product` , `id_product_attribute` , `product_supplier_reference` , COUNT( `product_supplier_reference` )
FROM `ps_product_supplier`
GROUP BY `id_product`
HAVING COUNT( `product_supplier_reference` ) >1
AND `id_product_attribute` =0
AND `product_supplier_reference` >0)t on t.id_product_supplier=tt.id_product_supplier
set tt.product_supplier_reference=null 

关于mysql - 从 select sql 创建更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42413966/

相关文章:

php - 只需单击一个提交按钮即可将多行插入数据库

javascript - 当表单操作重定向到 404 页面时动态注入(inject) PHP

sql - Oracle 和 SQL Server 之间的大表(1 亿行)数据比较

mysql - 如何使用django和falcon对单个数据库执行数据库操作

mysql - 在 MySQL 上通过索引表获取值

php - 如何防止 PHP 中的 SQL 注入(inject)?

mysql - 为什么 mysql innodb 表 - 自动增量列跳跃超过 1 个数字,即使像 'auto_increment_increment' 这样的变量设置为 1?

sql - 如何在 AVG 函数中使用别名

mysql - 在mysql中选择不同的2列组合

sql - 更新 MS SQL 列中的部分字符串