首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

sql 两张表的并集演算

2012-09-14 
sql 两张表的并集运算有两张表格,a,b,a中有盘点数量,b中有库存数量我想实现的功能是,a,b两张表做差,差异不

sql 两张表的并集运算
有两张表格,a,b,
a中有盘点数量,b中有库存数量
我想实现的功能是,a,b两张表做差,差异不为零的话就把这条记录写入b表中,要是b或者a中的商品不一样的话,也写入b中
怎么实现,请给代码,谢谢谢谢

[解决办法]
参考:
http://www.cnblogs.com/insus/articles/1925770.html
[解决办法]

SQL code
--创建表结构select 商品,库存数量 into b_copy from b where 1=2;--合并结果放到中间表insert into b_copy(商品,库存数量)    select t.商品,abs(sum(t.数量))    from (select a.商品,(a.盘点数量*-1) 数量 from a        union all select b.商品,b.库存数量    ) t    group by t.商品    having sum(t.数量)<>0;--按合并后的数量更新b表update b set 库存数量=b_copy.库存数量    from b_copy    where b.商品=b_copy.商品;--插入b表不存在的商品insert into b(商品,库存数量)    select 商品,库存数量    from b_copy     where b_copy.库存数量<>0 and         not exists (select 1 from b_copy         where b_copy.商品=b.商品);--删除中间表drop table b_copy; 

热点排行