日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

销售订单报表

發(fā)布時間:2025/4/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 销售订单报表 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

有個銷售訂單數(shù)據(jù)如圖:

報表要求如下:

SQL腳本如下:

create proc [dbo].[Tecul_sp_SaleOrderSumByMonth] as -- 本月數(shù)據(jù) select 產(chǎn)品系列 as 產(chǎn)品系列, SUM( 金額) as 本月銷售額, convert(varchar(6),訂單日期,112) as 訂單日期, CAST( convert(varchar(7),訂單日期,120)+'-1' as datetime) as 當(dāng)月第一天 into #t from tecul_vw_saleorder group by convert(varchar(6),訂單日期,112),產(chǎn)品系列,convert(varchar(7),訂單日期,120) --去年同月數(shù)據(jù) select t3.產(chǎn)品系列 as 產(chǎn)品系列,ISNULL( t3.本月銷售額,0) as 上年同月銷售額,t4.訂單日期 as 月份,t4.當(dāng)月第一天 as 當(dāng)月第一天 into #tt from #t t3 join #t t4 on t3.產(chǎn)品系列=t4.產(chǎn)品系列 and t3.當(dāng)月第一天= DATEADD(YEAR,-1,t4.當(dāng)月第一天) --匯總數(shù)據(jù) select b1.產(chǎn)品系列 as 產(chǎn)品系列,DATEPART(YEAR,b1.當(dāng)月第一天) as 年,DATEPART(MONTH,b1.當(dāng)月第一天)as 月 ,ISNULL( b1.本月銷售額,0) as 本月銷售額,ISNULL( b2.上年同月銷售額,0) as 上年同月銷售額,ISNULL( b3.上月銷售額,0) as 上月銷售額 ,ISNULL( b4.去年同期銷售額,0) as 去年同期銷售額,ISNULL( b5.本年同期銷售額,0) as 本年同期銷售額 , case when ISNULL( b3.上月銷售額,0)=0 then '' else cast( cast( (ISNULL( b1.本月銷售額,0)-ISNULL( b3.上月銷售額,0))*100/ b3.上月銷售額 as decimal(10,2) ) as varchar(50))+'%' end as '同上月比(%)', case when ISNULL(b2.上年同月銷售額,0)=0 then '' else cast( cast( (ISNULL( b1.本月銷售額,0)-ISNULL( b2.上年同月銷售額,0))*100/ b2.上年同月銷售額 as decimal(10,2) ) as varchar(50))+'%' end as '同上年同月比(%)', case when ISNULL(b4.去年同期銷售額,0)=0 then '' else cast( cast( (ISNULL( b5.本年同期銷售額,0)-ISNULL( b4.去年同期銷售額,0))*100/ b4.去年同期銷售額 as decimal(10,2) ) as varchar(50))+'%' end as '同上年同月比(%)' from --本月數(shù)據(jù) #t b1 --去年同月數(shù)據(jù) left join #tt b2 on b1.產(chǎn)品系列=b2.產(chǎn)品系列 and b1.當(dāng)月第一天=b2.當(dāng)月第一天 --上月數(shù)據(jù) left join ( select t1.產(chǎn)品系列 as 產(chǎn)品系列, ISNULL( t1.本月銷售額,0) as 上月銷售額,t2.訂單日期 as 月份,t2.當(dāng)月第一天 as 當(dāng)月第一天 from #t t1 join #t t2 on t1.產(chǎn)品系列=t2.產(chǎn)品系列 and t1.當(dāng)月第一天= DATEADD(MONTH,-1,t2.當(dāng)月第一天) ) b3 on b1.產(chǎn)品系列=b3.產(chǎn)品系列 and b1.當(dāng)月第一天=b3.當(dāng)月第一天 --去年同期銷售額 left join ( select a1.*,( select SUM(a2.上年同月銷售額) from #tt a2 where a2.當(dāng)月第一天<=a1.當(dāng)月第一天 and DATEPART(YEAR,a1.當(dāng)月第一天)=DATEPART(YEAR,a2.當(dāng)月第一天))as 去年同期銷售額 from #tt a1 )b4 on b4.產(chǎn)品系列=b1.產(chǎn)品系列 and b4.當(dāng)月第一天=b1.當(dāng)月第一天 --本年同期銷售額 left join ( select a.產(chǎn)品系列,a.本月銷售額,a.當(dāng)月第一天,(select SUM(本月銷售額) from #t as b where b.當(dāng)月第一天<=a.當(dāng)月第一天 and DATEPART(YEAR,b.當(dāng)月第一天)=DATEPART(YEAR,a.當(dāng)月第一天))as 本年同期銷售額 from #t as a )b5 on b1.產(chǎn)品系列=b5.產(chǎn)品系列 and b1.當(dāng)月第一天=b5.當(dāng)月第一天 --刪除虛擬表 drop table #t drop table #tt

?

轉(zhuǎn)載于:https://www.cnblogs.com/tianmoxin/p/5787533.html

總結(jié)

以上是生活随笔為你收集整理的销售订单报表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。