select 复合查询

haynes 2017-06-30 04:10:02
数据库:
科目代码 期末方向 本币期末数
001 借 100
001 借 100
001 贷 100
001 贷 50
002 借 100
003 货 100

希望的结果是
科目代码 金额
001 50
002 100
003 -100

我的代码是:
select b.科目代码,(b.借数-c.贷数) as 金额 from
(SELECT 科目代码,sum(本币期末数) as 借数 from 科目余额_ERP where 期末方向="借" group by 科目代码) as b,
(SELECT 科目代码,sum(本币期末数) as 贷数 from 科目余额_ERP where 期末方向="贷" group by 科目代码) as c
where b.科目代码=c.科目代码

目前遇到的困难是有些 科目代码 对应的记录中只有 借 或者只有 贷。
如果借和贷都存在的话,数据是正确的,但只有 借 或 只有 货 时,这条记录就搜不出来了。我希望是没有的数据就为0,再进行 借数-贷数
...全文
812 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TOP3098 2017-09-27
  • 打赏
  • 举报
回复
SELECT 科目代码,sum(iif(期末方向="借",金额,-1*金额)) as 累计金额 from 科目余额_ERP group by 科目代码
wchliu 2017-07-02
  • 打赏
  • 举报
回复
select科目代码,科目名称,sum(iif(期末方向="借",金额,-金额)) as 金额 from 科目余额_ERP group by 科目代码 重点是在Sum中使用IIF函数

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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