求一sql语句!!
===============================================
|客户号| 交易所 |商 品|B/S|数量| 成交价|
===============================================
000001 CZCE WT101 B 10 1260.0000
000001 CZCE WT101 S 2 1290.0000
000002 CZCE WT101 B 10 1260.0000
000001 CZCE WT101 B 10 1280.0000
000002 CZCE WT101 B 10 1250.0000
000002 CZCE WT101 S 2 1290.0000
000001 CZCE WT101 B 5 1240.0000
000001 CZCE WT101 S 2 1444.0000
000001 CZCE WT101 S 1000 1260.0000
-----------------------------------------------
合计 1051
把上面的表分组合并成下表
=====================================================
|客户号| 客户名| 商 品| B/S | 多头 | 空头 | 平均价 |
=====================================================
000001 WT101 卖 979 1260.4262
000002 WT101 买 18 1255.0000
-----------------------------------------------------
交易所小计: 18 979
第一:按客户号和商品分组
第二:在每一分组的记录中,如果B的数量大于S的数量
哪么在分组中显示多头,多头=B数量-S数量
如果S的数量大于B的数量
哪么在分组中显示空头,空头=S数量-B数量
平均价只算B或S
大概就是以上意思!能不能用一sql来实现以上功能?
我的数据库是Prodox
另外,在Prodox数据库中,在一个sql中怎么样选择一当前日期
比如 select field1,...,date from table
我想在date这选择当前的日期
但好象prodox不支持这样的函数!
是不是这样呢?有没有解决的办法!
请朋友们指教!银子不成问题!
只要不超过300两!
问题点数:100、回复次数:8Top
1 楼newwen(玩一会儿)回复于 2002-04-02 09:35:13 得分 0
oracle 或sybase可以,prodox不熟,你可以试试支不支持case、if(估计不行),再有试试union吧,应该差不多Top
2 楼duanfeng(段玉)回复于 2002-04-02 09:38:25 得分 0
不要用pardox,用Ms SQL Server/OracleTop
3 楼rqcong()回复于 2002-04-02 09:40:14 得分 0
比较麻烦Top
4 楼xiaoxieyu(抗日统一联盟: 小鱼)回复于 2002-04-02 09:44:55 得分 0
prodox不支持case ,if,union支持!Top
5 楼msdn_lib(msdn_lib)回复于 2002-04-02 09:52:48 得分 0
先回答你后一个问题,对当前服务器日期的选取一般做法是
select getdate();
Top
6 楼erickleung()回复于 2002-04-02 10:02:18 得分 100
这类多用户多交投的运作, 请不要用paradox或其他桌面数据库.
最起码也要用MS SQL, 但最好也不要少於Oracle/DB2, 来管理
客户的交投纪录, 小心骗子藉着系统上的漏洞来进行非法的空仓
及补仓行为!
你所要求的, 是应在交贸完成之前, 在server上便要做好的, 最
好每个用户的纪录是在独立数据管理呢.
你做得愈精细, 客户的保障更大, 对你们的信心更大.
Top
7 楼chinajavis(我选择 我喜欢)回复于 2002-04-02 11:30:11 得分 0
gzTop
8 楼xiaoxieyu(抗日统一联盟: 小鱼)回复于 2002-04-02 13:52:53 得分 0
msdn_lib(msdn_lib)
我用的数据库是prodox,不支持getdate()Top




