| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1055 人关注过本帖
标题:帐户付出资金分析
只看楼主 加入收藏
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:13 
帐户付出资金分析
SQl表(名: bxjj )如下

序号    日期    摘要    收或付    发生金额    帐户余额
1    2009-6-13    开户存入       50000    50000
2    2009-7-1    货款存入       20000    70000
3    2009-8-15    保险基金存入       90000    160000
4    2009-8-16    货款支出       30000    130000
5    2009-8-17    购货       50000    80000
6    2009-8-26    货款存入       40000    120000
7    2009-9-27    发放工资       90000    30000
8    2009-9-28    购配件       20000    10000

第3笔业务是保险基金存入9万元,属于移用保险基金的违规业务
现要查询此后发生的资金付出业务中,是否存在移用保险基金的违规问题。
是否移用保险基金计算思路提示如下:

 第3笔业务即保险基金存入9万元之前,帐户余额有7万元属于自有资金,第4笔付出3万元,自有资金还剩下4万元;第5笔付出5万元,则其中使用剩下的自有资金4万元、使用保险基金1万元;第6笔收入4万元,弥补了已经移用的保险基金1万元、自有资金最终还剩3万元;第7笔付出9万元,其中使用剩下的自有资金3万元、使用保险基金6万元;第7笔付出2万元,属于使用保险基金2万元。

  请用SQL语句插入一张新表( bxjj_2),在 bxjj表结构的基础上,增加一个字段:“移用保险基金数额”,该字段用于填写对每一笔付出业务注明移用保险基金的具体数额。结果如下:
序号    日期    摘要    收或付    发生金额    帐户余额    移用保险基金数额
1    2009-6-13    开户存入       50000    50000   
2    2009-7-1    货款存入       20000    70000   
3    2009-8-15    保险基金存入       90000    160000   
4    2009-8-16    货款支出       30000    130000   
5    2009-8-17    购货       50000    80000    10000
6    2009-8-26    货款存入       40000    120000   
7    2009-9-27    发放工资       90000    30000    60000
8    2009-9-28    购配件       20000    10000    20000


  现因业务中碰到,还请老师帮忙, 非常感谢您的帮助。
搜索更多相关主题的帖子: 帐户 资金 
2010-08-13 16:14
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
只凭这点信息是写不出通用的SQL语句的!

★★★★★为人民服务★★★★★
2010-08-14 06:47
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
收藏
得分:0 
cnfarer版主您好,如果单独就是解决这个例子,请问怎样写SQL语句?
2010-08-14 06:59
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:15 
修改
declare @移用保险基金数额 int
declare @exist int
set @移用保险基金数额=cast((select sum(case when [摘要] like '%保险基金存入%' then [发生金额] else 0 end)
from bxjj where [收或付] like '%收%'
group by [收或付]) as int)

set @exist=
(select min(t.序号) as 序号 from
(select 序号 from [bxjj] where [摘要] like '%保险基金存入%') as t)
print @移用保险基金数额
print @exist
insert into bxjj1
SELECT [序号]
       ,[日期]
      ,[摘要]
      ,[收或付]
      ,[发生金额]
      ,[帐户余额]
      , cast(case when 序号>=@exist then
 (case when @移用保险基金数额-[帐户余额]>0
then (case when @移用保险基金数额-[帐户余额]>[发生金额] then [发生金额] else @移用保险基金数额-[帐户余额] end)
 else 0 end)
else 0 end as int)as 移用保险基金数额
         FROM  [bxjj]


[ 本帖最后由 qingshuiliu 于 2010-8-14 20:32 编辑 ]
2010-08-14 10:41
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
收藏
得分:0 
尊敬的qingshuiliu版主您好!运行后有点小差错:

服务器: 消息 208,级别 16,状态 1,行 3
对象名 'dbo.bxjj' 无效。
2010-08-14 10:45
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
你改为 bxjj就行了 或者[bxjj]
帖子我已经编辑了一下,
你在试试


[ 本帖最后由 qingshuiliu 于 2010-8-14 10:56 编辑 ]
2010-08-14 10:54
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
收藏
得分:0 
qingshuiliu版主您好!改为 bxjj不知怎么还是有错
2010-08-14 10:57
qingshuiliu
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:17
帖 子:323
专家分:1538
注 册:2009-12-28
收藏
得分:0 
你把错误的完整代码贴出来看看
注意一些最基本的错误:
比如说,你要选中当前你要使用的数据库
否则,系统会找不到这张表的


[ 本帖最后由 qingshuiliu 于 2010-8-14 11:01 编辑 ]
2010-08-14 10:59
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
收藏
得分:0 
请版主稍等,我再试运行
2010-08-14 11:10
exvba
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2010-8-13
收藏
得分:0 
版主您好,重新运行后,没有出错,提示一行受上次影响,但我没看到查询结果,请问怎样看到结果,谢谢!
2010-08-14 11:24
快速回复:帐户付出资金分析
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039321 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved