如何更新和设置值到同一表的子查询中的列

问题描述

|| 我在使此SQL运行时遇到困难。基本上,我想将列“ 1”设置为“ 0”,并将其设置为由同一表上的子查询选择的“ 2”。这是我的
SELECT
查询,显示了我需要的数据...
SELECT p.id,p.sort_order,p.parent_id,(
  SELECT `sort_order` AS parent_sort_order
  FROM `product`
  WHERE id = p.parent_id
)
FROM  `product` p
WHERE p.dealer_id !=0
AND p.vendor_id >100
谢谢!     

解决方法

您选择的加入版本:
SELECT p.id,p.sort_order,p.parent_id,b.sort_order as parent_sort_order
FROM  `product` p join `product` b
on p.id = b.parent_id
WHERE p.dealer_id !=0
AND p.vendor_id >100
更新选项1:
update product a,product b set a.sort_order = b.parent_sort_order
where a.id = b.parent_id
and a.dealer_id !=0
and a.vendor_id > 100
更新选项2:
update product a left join product b on a.id = b.parent_id 
set a.sort_order = b.parent_sort_order
where a.dealer_id !=0
and a.vendor_id > 100
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...