表account //用来记录用户开户的信息
accountID name money date
001 张三 2000 2007-07-08
002 李四 30000 2006-01-09表accoutInfo //用来记录用户存取款信息
id accountID date money
1 001 2007-09-01 -500
2 001 2008-01-01 -100
3 002 2008-05-05 -30000
如何用oracle的sql语句得出如下信息
accountID 开户金额 剩余金额 交易金额 交易日期
001 2000 1500 -500 2007-09-01
001 2000 1400 -100 2008-01-01
002 30000 0 -30000 2006-01-09
accountID name money date
001 张三 2000 2007-07-08
002 李四 30000 2006-01-09表accoutInfo //用来记录用户存取款信息
id accountID date money
1 001 2007-09-01 -500
2 001 2008-01-01 -100
3 002 2008-05-05 -30000
如何用oracle的sql语句得出如下信息
accountID 开户金额 剩余金额 交易金额 交易日期
001 2000 1500 -500 2007-09-01
001 2000 1400 -100 2008-01-01
002 30000 0 -30000 2006-01-09
解决方案 »
- 请大家帮忙下SSH整合时The requested resource () is not available.
- 获取文件路径
- [申精]淘宝网爬虫引擎设计架构图等
- Jsp连接数据库一行代码,简单不过了
- 晕:第一次用JSP就碰到了无法建立虚拟主机的问题,各位大哥帮下忙看看?谢谢!!!
- 问一个javascript的问题
- 事务哪个位置开始才正确啊?
- 问:JSP既然是在servlet上发展起来的且综合了servlet的全部优点,为什么还要用servlet,用JSP代替servlet不就行了?
- 高手帮忙解决Tomcat4.0配置 Servlet 在线等待 先者得分
- jboss部署
- struts上传控件问题
- 在一般java做的网站里,自定义标签用到的机会多不多啊?
楼主【binxigogo】截止到2008-07-08 14:57:45的历史汇总数据(不包括此帖):
发帖的总数量:11 发帖的总分数:370 每贴平均分数:33
回帖的总数量:39 得分贴总数量:14 回帖的得分率:35%
结贴的总数量:6 结贴的总分数:220
无满意结贴数:0 无满意结贴分:0
未结的帖子数:5 未结的总分数:150
结贴的百分比:54.55 % 结分的百分比:59.46 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
交易金额 accinfo.date from account as acc,accountInfo as accinfo where acc.accountID=accinfo.accountID;
还可以用natural join 或者join on
要测试了再给答案啊,写对者马上给分
from account a,accoutInfo b where a.accountID =b.accountID
交易金额 accinfo.date from account as acc,accountInfo as accinfo where acc.accountID=accinfo.accountID group by acc.accountID
可以参考一下FaceYe开源portal里面关于这一点的实现http://ecsun.javaeye.com
SELECT a.accountId,
a.money,
a.money+(select sum(money)
from accountinfo
where accountinfo.date>=b.date
and accountinfo.accountid=a.accountId),
b.money,
b.[date] FROM account a INNER JOIN
accountInfo b ON a.accountId = b.accountIdorder by a.accountId, a.[date]
输出这样的结果
accountID 开户金额 剩余金额 交易金额 交易日期
001 2000 1500 -500 2007-09-01
001 2000 1400 -100 2008-01-01
001 2000 1000 -400 2008-01-03
001 2000 800 -200 2008-01-07
002 30000 20000 -10000 2006-01-09
002 30000 10000 -10000 2006-01-23
总的来说,就是看日期累加
建议斑竹封掉他LZ问sql的帖发到数据库版会好点。
accout的表
1 张三 2000.0 2007-07-08 00:00:00.000
2 李四 30000.0 2006-01-09 00:00:00.000
accoutInfo的表
1 1 2007-09-01 00:00:00.000 1500.0 -500.0
2 1 2008-01-01 00:00:00.000 1400.0 -100.0
3 2 2008-05-05 00:00:00.000 0.0 -30000.0select a.accout_id, a.accout_money as 开户金额,b.accoutInfo_trueMoney as 剩余金额,
b.accoutInfo_money as 交易金额,b.accoutInfo_date as 交易日期
from accout as a,accoutInfo as b where a.accout_id=b.accout_id
结果为
1 2000.0 1500.0 -500.0 2007-09-01 00:00:00.000
1 2000.0 1400.0 -100.0 2008-01-01 00:00:00.000
2 30000.0 0.0 -30000.0 2008-05-05 00:00:00.000