价目表统计某段时间内的平均价格
金蝶云社区-云社区用户46Oa8901
云社区用户46Oa8901
0人赞赏了该文章 330次浏览 未经作者许可,禁止转载编辑于2016年11月30日 14:06:53

销售 ——输入价目表——通过BOS开发一个报表可以统计某段时间的平均价格,现在是后台SQL 可以查出来结果,BOS平台出不来数据。

DECLARE @s NVARCHAR(4000)
declare @ksrq datetime
declare @jsrq datetime
set @ksrq='2016-10-30'
set @jsrq='2016-10-31'
SELECT @s = ISNULL(@s + ',', '') + QUOTENAME(rq)
FROM (select distinct convert(varchar(10),FEFFEctivedate,120) as rq from ABC where FEFFEctivedate>=@ksrq and FEFFEctivedate<=@jsrq) as A ---列名不要重复
Declare @sql NVARCHAR(4000)
SET @sql='select r.*,s.平均单价 from
(select r.* from
(select FNAME,FEFFEctivedate,FPRICE from abc where FEFFEctivedate>='''+CONVERT(VARCHAR(10),@ksrq,120)+ ''' and FEFFEctivedate<='''+CONVERT(VARCHAR(10),@jsrq,120)+ ''') as t
pivot
(max(t.FPRICE)
for t.FEFFEctivedate in ('+@s+')) as r) as r,
(select FNAME,cast(avg(FPRICE*1.0) as decimal(18,2)) 平均单价 from abc where FEFFEctivedate>='''+CONVERT(VARCHAR(10),@ksrq,120)+ ''' and FEFFEctivedate<='''+CONVERT(VARCHAR(10),@jsrq,120)+ ''' group by FNAME) s
where r.FNAME=s.FNAME'
EXEC(@sql)