免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1320 | 回复: 1
打印 上一主题 下一主题

数据库初学者遇到几个查询问题,望高手不吝赐教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-15 10:01 |只看该作者 |倒序浏览
设有如下两张表:
1.股票表

名称    现价  ...

联想    40

微软    30

...

2.交易表

名称    买入/卖出      日期      单价           数量

联想     买入         2006-3-4    30            100

联想     卖出         2006-5-6    40            50

微软     买入         2005-3-4    20            500

微软     卖出         2006-6-7    10            300


现在想要进行如下的查询操作:

a.假设 如何得到股票的现有数量?即得到如下表:

名称        现有数量

联想          50

微软         200
  

b.  假设 盈亏 = 现有数量*现价 + sum(卖出数量*单价) - sum(买入数量*单价)  如何查询某种股票的盈亏?
   
    即得到下表:

名称   盈亏

联想   1000

微软   -1000

论坛徽章:
0
2 [报告]
发表于 2006-07-15 10:49 |只看该作者
a) 不可能得到, 因为不知道每个公司原来的姑表数量是多少
b) 没有"现有数量",不 可能按照你的公式计算出来, 但是赢亏和现有数量无关, 可按照公式 盈亏 = sum(卖出数量*单价) - sum(买入数量*单价)计算. sql语句如下:
select 名称, sum(decode(买入/卖出, '买入', 1 ,-1)*数量*单价) from 交易表 group by 名称
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP