有两个表假如如下:
AA表 字段
编号 名称 入库数
001 电脑 1
002 电视 1
001 电脑 -1 就是入库单表中可能有退货
003 手机 1BB表 字段
编号 名称 出库数
002 电视 1
003 手机 1
003 手机 -1能否用SQL语句达到如下结果(就是求出库存,没库存的不显示),以编号为准,BB表中的所有商品编号AA表中都是,本来这条语句就行了
SELECT * FROM AA WHERE AA.编号 = (SELECT * FROM BB)
但是AA表如BB表中有退货,就不能这么做了,高手该如何?达到的结果
编号 名称 库存数
003 手机 1
AA表 字段
编号 名称 入库数
001 电脑 1
002 电视 1
001 电脑 -1 就是入库单表中可能有退货
003 手机 1BB表 字段
编号 名称 出库数
002 电视 1
003 手机 1
003 手机 -1能否用SQL语句达到如下结果(就是求出库存,没库存的不显示),以编号为准,BB表中的所有商品编号AA表中都是,本来这条语句就行了
SELECT * FROM AA WHERE AA.编号 = (SELECT * FROM BB)
但是AA表如BB表中有退货,就不能这么做了,高手该如何?达到的结果
编号 名称 库存数
003 手机 1
解决方案 »
- 求助mciSendString,为什么播放完后重新播放,却什么也看不到?
- 我用VB 做了个软件为什么在有些机器上会报“从Comdlg32.ocx加载控件'commonDialog'失败.您的Comdlg32.ocx版本可能已过期.确认您使用的
- NTSVC.OCX创建Windows服务启动超时的问题,高手请进
- 如何在dll 模块中直接生成图片,而不是使用窗体上的picture box 控件?
- 会编俄罗斯方块游戏的请进!
- 请教VB中的顺序文件随机文件
- 存储过程有疑.....高手请指导
- 如何能够在查找一个表中数据是否在另一表中出现
- 誰能告訴我.vb6.0自帶的Crystal report(版本4.6.1.0)的注冊碼.
- how to capture the unload event of form,I want to provent user to close current window and alarm him there is some other things
- 能推荐几本关于vb算法方面的好书吗?
- 如何unload窗口中的某些控件,如LINE和IMAGE控件
((select 编号,名称,sum(入库数) as 库存数 from aa group by 编号,名称)
union
(select 编号,名称,(0-sum(出库数)) as 库存数 from bb group by 编号,名称))
group by 编号,名称
select 编号,名称,sum(库存数) as num from
((select 编号,名称,sum(入库数) as 库存数 from aa group by 编号,名称)
union
(select 编号,名称,(0-sum(出库数)) as 库存数 from bb group by 编号,名称))
where num>0
group by 编号,名称
select 编号,名称,sum(库存数) as num from
((select 编号,名称,sum(入库数) as 库存数 from aa group by 编号,名称)
union
(select 编号,名称,(sum(0-出库数)) as 库存数 from bb group by 编号,名称))
where num>0
group by 编号,名称
group by 编号 ,名称
where (sum(AA.入库数)-SUM(BB.出库数)) >0 group by AA.编号
第一条 SELECT 编号,名称 FROM AA GROUP BY 编号,名称 HAVING SUM(入库数)>0第二条 SELECT 编号,名称 FROM BB GROUP BY 编号,名称 HAVING SUM(出库数)>0因为入库数和出库数不是1就是-1,所以库存可以不用管
第一条语句查询的结果是
编号 名称
002 电视
003 手机第二条语句查询的结果是
002 电视要达到的结果就是如果用一条语句把上面两条语句联起来,把第二条查询的结果从第一条删除,即达到如下结果编号 名称
003 手机