如何把得出来的数据减去另一个数据?

止水i 2016-01-19 05:00:53
加精
select b.名称,sum(a.成本金额) as 总入库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1
group by b.名称
union all
select b.名称,sum(a.成本金额) as 总出库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = -1
group by b.名称


如何把得出来的数据 5445.74减去3692.49.
不知道运用哪种公式。
...全文
2057 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
faith.huan 2017-03-04
  • 打赏
  • 举报
回复
select b.名称,sum(decode(a.入出系数,1,a.成本金额,0)) as 总入库金额,sum(decode(a.入出系数,-1,a.成本金额,0)) as 总出库金额, sum( a.入出系数*a.成本金额) 两数相减 from 药品收发记录 a,部门表 b where a.库房id=b.id and b.名称 ='西药库' group by b.名称
faith.huan 2017-03-04
  • 打赏
  • 举报
回复
select b.名称,sum(decode(a.入出系数,1,a.成本金额,0)) as 总入库金额,sum(decode(a.入出系数,-1,a.成本金额,0)) as 总出库金额, sum( a.入出系数*a.成本金额) 两数相减 from 药品收发记录 a,部门表 b where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1 group by b.名称
jiangliangtong 2016-12-07
  • 打赏
  • 举报
回复
进来学习了
PH_zjh 2016-09-20
  • 打赏
  • 举报
回复
在SQL 中看见汉字,怎么看都感觉不舒服 !
qq_15714711 2016-08-23
  • 打赏
  • 举报
回复

select x.总入库金额-y.总出库金额 from 
(select b.名称,sum(a.成本金额) as 总入库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1
group by b.名称) x,
(select b.名称,sum(a.成本金额) as 总出库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = -1
group by b.名称) y;
qq_15714711 2016-08-23
  • 打赏
  • 举报
回复

select a.总入库金额-b.总出库金额 from 
(select b.名称,sum(a.成本金额) as 总入库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1
group by b.名称) a,
(select b.名称,sum(a.成本金额) as 总出库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = -1
group by b.名称) b;
霹雳风影 2016-03-24
  • 打赏
  • 举报
回复
再包一层查询不就好了吗?
qlife1 2016-03-02
  • 打赏
  • 举报
回复
没下文了??
lingling135138 2016-02-26
  • 打赏
  • 举报
回复
进来学习学习
xiaogang603780 2016-02-22
  • 打赏
  • 举报
回复
第一行:B. 总出库金额 B.后面多了一个空格
kyoguqi 2016-02-22
  • 打赏
  • 举报
回复
cattpon 2016-02-22
  • 打赏
  • 举报
回复
learning~
nathanjiang 2016-02-22
  • 打赏
  • 举报
回复
来看楼主头像
Evankaka 2016-02-21
  • 打赏
  • 举报
回复
引用 14 楼 qq_33481233 的回复:
[quote=引用 11 楼 Evankaka 的回复:]
select A.名称 A.总入库金额 -B. 总出库金额 as 差额
from
(select b.名称,sum(a.成本金额) as 总入库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1
group by b.名称 ) A
join
(select b.名称,sum(a.成本金额) as 总出库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = -1
group by b.名称 ) B on A..名称 =  B.名称
试试连接查询+派生表查询
[/quote] B on A..名称 = B.名称 这里多了一个。号,再重新试试
z123zjf 2016-02-20
  • 打赏
  • 举报
回复
select b.名称, sum(decode(a.入出系数, 1, a.成本金额, 0)) as 总入库, sum(decode(a.入出系数, -1, a.成本金额, 0)) as 总出库, sum(a.成本金额*a.入出系数) as 总啥库 from 药品收发记录 a, 部门表 b where a.库房id = b.id and b.名称 = '西药库' and a.入出系数 in (1,-1) group by b.名称
jdsnhan 2016-02-19
  • 打赏
  • 举报
回复
with a as 
(select 'a' cola, 20 money,'1' flag from dual
union all
select 'a' ,30 money,'-1' from dual
union all
select 'a' ,36 money ,'1' from dual
union all
select 'a' ,43 money,'1' from dual
union all
select 'a' ,23 money,'-1' from dual
union all
select 'a' ,97 money,'1' from dual
union all
select 'a' ,65 money,'-1' from dual)
select cola ,sum(decode(flag,'1',money,0)) 入库值, sum(decode(flag,'-1',money,0)) 出库值,
sum(decode(flag,1,money,0)) - sum(decode(flag,'-1',money,0)) 库存值
from a where a.cola = 'a' group by cola


这种风格不行?
qq_32504125 2016-02-19
  • 打赏
  • 举报
回复
楼主你把14楼运行的 a.名称 b.名称 别都叫名称
止水i 2016-02-18
  • 打赏
  • 举报
回复
引用 13 楼 kingkingzhu 的回复:
把后面那笔带个负号 然后sum可以么
试过了没用
止水i 2016-02-18
  • 打赏
  • 举报
回复
引用 7 楼 codeck 的回复:
做完拷贝到EXCEL ,求和!
- -!!
止水i 2016-02-18
  • 打赏
  • 举报
回复
引用 11 楼 Evankaka 的回复:
select A.名称 A.总入库金额 -B. 总出库金额 as 差额
from
(select b.名称,sum(a.成本金额) as 总入库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = 1
group by b.名称 ) A
join
(select b.名称,sum(a.成本金额) as 总出库金额
from 药品收发记录 a,部门表 b
where a.库房id=b.id and b.名称 ='西药库' and a.入出系数 = -1
group by b.名称 ) B on A..名称 = B.名称

试试连接查询+派生表查询
加载更多回复(14)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧