首页 > 代码库 > Mysql,Update中无法使用子查询和别名

Mysql,Update中无法使用子查询和别名

update Po_Header 

set total_fee = (
select ip.payment-ip.post_fee
from po_header ip
where ip.po_header_id = po_Header_Id
)
where Trade_ID in(
select trade_id from trade where shop_id = 2094;

 

 以上update脚本在Mysql中需要通过InnerJoin的方式完成

update Po_Header p1 INNER JOIN
(select po_Header_Id, (payment-post_fee) total_fee
from po_header) ip on
ip.po_header_id = p1.po_Header_Id
set p1.total_fee = ip.total_fee
where Trade_ID in(
select trade_id from trade where shop_id = 2094
)

Mysql,Update中无法使用子查询和别名