147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-晴天 2010-12-12
  • 打赏
  • 举报
回复
可以根据要获得的数据一段一段地写查询语句.不过,比较麻烦,最好在程序里用报表来做.
dawugui 2010-12-12
  • 打赏
  • 举报
回复
看了,感觉用SQL来做,太困难,还是用程序去实现吧.
pt1314917 2010-12-12
  • 打赏
  • 举报
回复
贴错了。不好意思。。
pt1314917 2010-12-12
  • 打赏
  • 举报
回复
CREATE PROCEDURE chaxun  
@a char
AS
exec('select m.daima as ''代码'',m.mingcheng as ''名称'',m.xianjia as ''现价'',m.zhangfu as ''涨幅'',
cast((((m.xianjia)/(x.zg)-1)*100) as decimal (18,2)) as ''5日跌幅'',
cast((((m.xianjia)/(s.zg)-1)*100) as decimal (18,2)) as ''25日跌幅'',
cast((((m.xianjia)/(x.zd)-1)*100) as decimal (18,2)) as ''5日涨幅'',
cast((((m.xianjia)/(s.zd)-1)*100) as decimal (18,2)) as ''25日涨幅'',
cast(((x.zg-m.xianjia)/(x.zg-x.zd)*100) as decimal (18,2)) as ''5日威廉指标'',
cast(((s.zg-m.xianjia)/(s.zg-s.zd)*100) as decimal (18,2)) as ''25日威廉指标'',
cast((x.zf) as decimal (18,2)) as ''5日振幅'',
cast((s.zf) as decimal (18,2)) as ''25日振幅'',
cast((((m.xianjia)/(x.ax)-1)*100) as decimal (18,2)) as ''5日均线'',
cast((((m.xianjia)/(s.ax)-1)*100) as decimal (18,2)) as ''25日均线'',
cast((x.zz) as decimal (18,2)) as ''5日量能'',
cast((s.zz) as decimal (18,2)) as ''25日量能'',
cast(((x.qj-1)*100) as decimal (18,2)) as ''震荡区间'',
cast((cast(m.zongliang as decimal)/cast(n.zongliang as decimal)-1) as decimal (18,2)) as ''当日增量'' from
(select b.* from
(select a.* ,
px = (select count(1) from meirishuju where daima = a.daima and date > a.date) + 1
from meirishuju a ) b
where b.px=1) m,
(select b.* from
(select a.* ,
px = (select count(1) from meirishuju where daima = a.daima and date > a.date) + 1
from meirishuju a ) b
where b.px=2) n,
(select b.daima,max(zuigao) zg,min(zuidi) zd,avg(zhengfu) zf,max(zuigao)/min(zuidi) qj,avg(xianjia) ax,
sum(zhangfu*zongjine)/avg(zongjine) zz from
(select a.* ,
px = (select count(1) from meirishuju where daima = a.daima and date > a.date) + 1
from meirishuju a ) b
where b.px between 1 and 5
group by b.daima ) x,
(select b.daima,max(zuigao) zg,min(zuidi) zd,avg(zhengfu) zf,max(zuigao)/min(zuidi) qj,avg(xianjia) ax,
sum(zhangfu*zongjine)/avg(zongjine) zz from
(select a.* ,
px = (select count(1) from meirishuju where daima = a.daima and date > a.date) + 1
from meirishuju a ) b
where b.px between 1 and 25
group by b.daima ) s
where m.daima=n.daima and m.daima=x.daima and m.daima=s.daima
and m.daima in (select daima from daima where biaoji in(2))
and n.zongliang <>0
order by '+@a+' desc')
GO
飘零一叶 2010-12-11
  • 打赏
  • 举报
回复
体力活

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧