为了账号安全,请及时绑定邮箱和手机立即绑定

动态SQL exec如何写

动态SQL exec如何写

子衿沉夜 2018-12-07 09:53:42
下面是我写的一个存储过程,一个别名作为了变量,需要用到动态SQL,但我怎么写都不对,无法保存,请赐教。   CREATE PROCEDURE chaxun  @a charASexec(''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 ) bwhere 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 ) bwhere 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 ) bwhere b.px between 1 and 5group 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 ) bwhere b.px between 1 and 25group by b.daima ) swhere m.daima=n.daima and m.daima=x.daima and m.daima=s.daimaand m.daima in (select daima from daima where biaoji in(2))and n.zongliang <>0order by '+@a+' desc '')GO
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 494 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号