select t1.名称,t1.数量,t2.单价*(t1.数量-t2.数量) as 合计价格
from 表A t1,
表B t2
where t1.名称=t2.名称
and t1.单价=t2.单价
--2:更新表A的数据
update t1
set 数量=t1.数量-t2.数量 ,和合计价格=t2.单价*(t1.数量-t2.数量)
from 表A t1,
表B t2
where t1.名称=t2.名称
and t1.单价=t2.单价
--如果上面的结果不行就分开写
--先更新数量
update t1
set 数量=t1.数量-t2.数量
from 表A t1,
表B t2
where t1.名称=t2.名称
and t1.单价=t2.单价
--在更新价格
update t1
set 和合计价格=t2.单价*t1.数量
from 表A t1,
表B t2
where t1.名称=t2.名称
and t1.单价=t2.单价
说清楚一点:是两个视图中的元组相减还是两个视图中连接后的数据结果相减?一个关系减一个关系可以用谓词NOT
IN或条件
<>
ANY进行关系 *** 作运算。
两个关系中的数据相减可以连接后(相所要求的条件,比如是同一个人的工资和扣的养老金之类,连接条件就是同一个人的标识,可能是身份z号,职工号什么的)相减,这没有什么啊,两表连接后进行数据 *** 作就可以了!句中一般和一个表中数据的加减没有区别:
select
A.gongzi-B.yanglao
as
Result,*
form
A,B
where
A.zhigonghao
=
B.zhigonghao
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)