在线等, 急急急!!!SQL Server的update 问题(更新)

比如产品表产品类型产品名称数量产品标识-------------------------------------------------1cpA100a1cpB700b1... 比如产品表
产品类型 产品名称 数量 产品标识
-------------------------------------------------
1 cpA 100 a
1 cpB 700 b
1 cpC 350 c
2 cpD 200 a
2 cpE 800 b
2 cpF 500 c
-------------------------------------------------
以产品类型为汇总单位将每个产品类型中产品标识为a的数量update成该类型产品中产品标识b的数量减去产品标识为c的数量, 如何实现啊?
即:
(cpA的数量 = cpB的数量 - cpC的数量 = 700 - 350 = 350)
(cpD的数量 = cpE的数量 - cpF的数量 = 800 - 500 = 300)
展开
 我来答
yiyishuitian
2012-04-27 · TA获得超过644个赞
知道小有建树答主
回答量:721
采纳率:50%
帮助的人:523万
展开全部
with CET_table as
(
select 产品类型,
max(case when 产品标识='b' then 数量 else 0 end)
-max(case when 产品标识='c' then 数量 else 0 end) as A数量
from 产品表
gropu by 产品类型
)
update 产品表
set 数量 = A数量
from 产品表 join CET_table on 产品表.产品类型 = CET_table .产品类型

手动敲的可能有错误,大体的意思是这样的.你看看可以不.建议先不要更新
,先运行.
select 产品类型,
max(case when 产品标识='b' then 数量 else 0 end)
-max(case when 产品标识='c' then 数量 else 0 end) as A数量
from 产品表
gropu by 产品类型
看看数据正确不.
unitech2010
2012-04-27 · TA获得超过1062个赞
知道小有建树答主
回答量:1025
采纳率:100%
帮助的人:906万
展开全部
将表看成三张表就好了
update t1
set t1.cpA的数量=t2.cpB的数量-t3.cpc的数量
from 表 t1,表 t2,表 t3
where t1.产品类型=t2.产品类型
and t1.产品类型=t3.产品类型
and t1.产品名称=cpA
and t2.产品名称=cpb
and t3.产品名称=cpc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a792811535
2012-04-27 · TA获得超过4411个赞
知道小有建树答主
回答量:1269
采纳率:100%
帮助的人:1414万
展开全部
Update t
set 数量 = (select sum((case when 产品标识='b' then 数量 when 产品标识='c' then -数量 Else 0 end)) From 产品表
Where 产品类型 = a.产品类型)
From 产品表 t
where 产品类型 = 'a'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石亮东
2012-04-27 · TA获得超过1217个赞
知道小有建树答主
回答量:2022
采纳率:66%
帮助的人:1407万
展开全部
update 产品表 a set 数量=(select 数量 from 产品表 b where b.产品类型=a.产品类型 and b.产品标识='b')-(select 数量 from 产品表 c where c.产品类型=a.产品类型 and b.产品标识='c')
where 产品标识='a'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式