roy_88版主大人请进下
ALTER PROCEDURE P1
(
@StartDate DATETIME , --2016-08-01
@EndDate DATETIME, --2016-08-01 23:59:59
@Usertb_code varchar(50)=NULL
)
AS
DECLARE @Sql NVARCHAR(max)
SELECT @Sql=ISNULL(@Sql+',','')+QUOTENAME(Sntb_name)+'=ISNULL(SUM(CASE WHEN '
+CASE WHEN CONVERT(VARCHAR(8),Sntb_ksdt,8)>CONVERT(VARCHAR(8),Sntb_jsdt,8)
THEN 'CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN '''+CONVERT(VARCHAR(8),Sntb_ksdt,8) +''' AND ''23:59:59'' OR CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN ''00:00:00'' AND '''+CONVERT(VARCHAR(8),Sntb_jsdt,8) +''''
ELSE
'CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN '''+CONVERT(VARCHAR(8),Sntb_ksdt,8) +''' AND '''+CONVERT(VARCHAR(8),Sntb_jsdt,8) +'''' END
+' THEN b.Xfsourcee_jr ELSE 0 END),0)'
FROM dbo.Sntb
--PRINT @Sql
SET @Sql='SELECT '+@Sql+',
COUNT(*) AS 消费次数 ,
COUNT(DISTINCT a.Usertb_code) AS 消费人数 , --这里没意义,显示固定为1,你查的是一个人
ISNULL(SUM(b.Xfsourcee_jr),0) AS 合计
FROM Usertb AS a
INNER JOIN Xfsourcee AS b ON b.Xfsourcee_code = a.Usertb_code
WHERE b.Xfsourcee_sj between @StartDate AND @EndDate'+CASE WHEN @Usertb_code>'' THEN ' AND a.Usertb_code=@Usertb_code' ELSE '' END
EXEC sys.sp_executesql @Sql,N'@StartDate datetime,@EndDate datetime , @Usertb_code varchar(50)',@StartDate,@EndDate,@Usertb_code
GO
版主大人 roy_88 你给我写的这个过程 有一个地方能修改下么,就是 我想统计出的过来是这样的
早餐金额 早餐人数 早餐笔数 加一个早餐人数和笔数 现在只有总合计的。
(
@StartDate DATETIME , --2016-08-01
@EndDate DATETIME, --2016-08-01 23:59:59
@Usertb_code varchar(50)=NULL
)
AS
DECLARE @Sql NVARCHAR(max)
SELECT @Sql=ISNULL(@Sql+',','')+QUOTENAME(Sntb_name)+'=ISNULL(SUM(CASE WHEN '
+CASE WHEN CONVERT(VARCHAR(8),Sntb_ksdt,8)>CONVERT(VARCHAR(8),Sntb_jsdt,8)
THEN 'CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN '''+CONVERT(VARCHAR(8),Sntb_ksdt,8) +''' AND ''23:59:59'' OR CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN ''00:00:00'' AND '''+CONVERT(VARCHAR(8),Sntb_jsdt,8) +''''
ELSE
'CONVERT(VARCHAR(8),b.Xfsourcee_sj,8) BETWEEN '''+CONVERT(VARCHAR(8),Sntb_ksdt,8) +''' AND '''+CONVERT(VARCHAR(8),Sntb_jsdt,8) +'''' END
+' THEN b.Xfsourcee_jr ELSE 0 END),0)'
FROM dbo.Sntb
--PRINT @Sql
SET @Sql='SELECT '+@Sql+',
COUNT(*) AS 消费次数 ,
COUNT(DISTINCT a.Usertb_code) AS 消费人数 , --这里没意义,显示固定为1,你查的是一个人
ISNULL(SUM(b.Xfsourcee_jr),0) AS 合计
FROM Usertb AS a
INNER JOIN Xfsourcee AS b ON b.Xfsourcee_code = a.Usertb_code
WHERE b.Xfsourcee_sj between @StartDate AND @EndDate'+CASE WHEN @Usertb_code>'' THEN ' AND a.Usertb_code=@Usertb_code' ELSE '' END
EXEC sys.sp_executesql @Sql,N'@StartDate datetime,@EndDate datetime , @Usertb_code varchar(50)',@StartDate,@EndDate,@Usertb_code
GO
版主大人 roy_88 你给我写的这个过程 有一个地方能修改下么,就是 我想统计出的过来是这样的
早餐金额 早餐人数 早餐笔数 加一个早餐人数和笔数 现在只有总合计的。
...全文
相关推荐
roy-ht
【roy-ht】项目概述在信息技术领域,"roy-ht"似乎是一个特定的项目或代码库的名称,由符号":face_savoring_food:"所代表的开发者或团队创建。
roy_g_biv
roy_g_biv
Rigid Body Dynamics Algorithms Featherstone, Roy
《Rigid Body Dynamics Algorithms》由Roy Featherstone编著,是一部专注于计算刚体动力学的权威著作。本书采用6D空间向量表示法,系统地讲解了如何构建和分析刚体
Robot Dynamics Algorithms(Roy Featherstone)
"Roy Featherstone的《Robot Dynamics Algorithms》是一本探讨机器人动力学算法和空间矢量理论的著作,作者在1984年的博士论文基础上发展了这一领域。书中介绍了一种
精美商业PPT模板roy_g_biv019
精美商业PPT模板roy_g_biv019


疑难问题
