USE [PM]
GO
/****** 對象:? StoredProcedure [dbo].[LfangSatstics]??? 腳本日期: 08/24/2013 10:57:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:??<Author,,Name>
-- Create date: <Create Date,,>
-- Description:?<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[LfangSatstics]
(
?@begintime datetime,
?@OverTime datetime,
?@PName nvarchar(100)
)
AS
BEGIN
? DECLARE @str nvarchar(2000)
? SET @str=''
CREATE table #T
(
?? proId int,
?? gid int,
?? allMoney money
)
--插入數據:
SET @str=@str+'insert into #T(proId,gid,allMoney) SELECT ProjectId,Id,AllMoney? FROM View_LFangStastics where IsSD=''是'' '
if(@PName<>'')
? set @str=@str+' and PName LIKE ''%'' + REPLACE(''' + @PName + ''', ''%'', ''/%'') + ''%'' ESCAPE ''/'''
if(@begintime<>'')
? set @str=@str+' and SignTime>='''+convert(varchar(100),@begintime)+''''
if(@OverTime<>'')
?? set @str=@str+' and SignTime<='''+convert(varchar(100),@OverTime)+''''
?EXEC (@str)
--統計數據:
SELECT CASE WHEN t.tag='2' THEN '單個項目(匯總)' WHEN t.tag='1' THEN '所有項目(匯總)' ELSE v.PName END as ProName,v.GName,t.allmoney FROM
(SELECT proId,gid, SUM(allMoney) as allmoney,CASE WHEN GROUPING(gid)=1 AND GROUPING(proId)=1 THEN '1' WHEN
?GROUPING(gid)=1 THEN '2' ELSE '' END as tag
?FROM #T GROUP BY proId,gid WITH ROLLUP) as t LEFT join View_LFangStastics as v on
t.proId=v.ProjectId AND t.gid=v.Id
--刪除臨時表
DROP TABLE #T
END
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
