table: t_a id: 12
p_id:1
data: 10 id:12
p_id:1
data:2id:3
p_id:3
data:32table :t_b
id:2
p_id:1
data:45id:4
p_id:67
data:56我是想用一条update 更改t_b 里和t_a p_id 相同的data 我是这样写的
update t_a as a left join t_b as b on a.p_id=b.p_id set b.data=b.data-a.data 但是这样运行时,只在t_b 里减了一次,不知道为什么呢?
p_id:1
data: 10 id:12
p_id:1
data:2id:3
p_id:3
data:32table :t_b
id:2
p_id:1
data:45id:4
p_id:67
data:56我是想用一条update 更改t_b 里和t_a p_id 相同的data 我是这样写的
update t_a as a left join t_b as b on a.p_id=b.p_id set b.data=b.data-a.data 但是这样运行时,只在t_b 里减了一次,不知道为什么呢?
问题要整理下呀.
update retail_goods_storage AS a
right JOIN (select sum(goods_storage_quantity) as b,single_goods_id from retail_sell_goods_info where 1 group by single_goods_id) AS c ON a.single_goods_id =c.single_goods_id
set a.goods_storage_quantity = a.goods_storage_quantity - c.b
写了一个NIU B的!
FROM (SELECT sum( single_goods_income ) AS a
FROM retail_sell_goods_info
WHERE retail_sell_id >=342
AND retail_sell_id <=718
) AS ab, (SELECT sum( aaa ) AS b
FROM (SELECT package_num * package_infact_income AS aaa
FROM retail_package_goods_relation AS b
WHERE settle_id >=342
AND settle_id <=718
GROUP BY settle_id, package_id
) AS c
) AS cb, (SELECT sum( retail_sell_income ) AS c, sum( retail_exchange_total ) AS d
FROM retail_sell_settlement
WHERE retail_sell_id >=342
AND retail_sell_id <=718
) AS cd看看一个很BT的,哈哈……,这只是测试用,要不非把mysql搞死不可!