12
返回列表 发新帖
楼主: Garywang

一个头痛的SQL语句

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
11#
发表于 2002-8-9 16:56 | 只看该作者
Hi,
bici, bici.

总结一下:

本例主要使用了如下的技术:

临时表的建立。
游标的简单使用方法。
对于单表的自映射。(*)
update语句的灵活使用。

请补充,或批评。

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2002-8-9 19:30 | 只看该作者
最简单是自定义一个function 就可以了 不用加字段,建临时表,

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2002-8-12 09:32 | 只看该作者

其实原题应该这样的

一个凭证总表,其中有如下字段:
ACCNT_CODE, 科目代码
PERIOD,财务区间
Amount,金额
D_C,借(D)/贷(C)
要求列出单个Accnt_Code下的每个财务区间的期末余额
其实D/C并不重要,因为数据库里D总为正,C总为付,可以不用考虑
我最后写的SQL这样的:

select a.period as 会计区间,sum(b.amount)as 余额 from
(select PERIOD,sum(amount) as Amount from table1
WHERE ACCNT_CODE='1101510011'
group by PERIOD) as a,
(select PERIOD,sum(amount) as Amount from table1
WHERE ACCNT_CODE='1101510011'
group by PERIOD) as b
where b.period<=a.period
group by a.amount,a.period
order by a.period

但如果要分别看每个区间的D和C呢?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表