100305.6
来源:互联网 发布:苹果cms模板 编辑:程序博客网 时间:2024/05/23 19:19
SQL查询存储过程
-- =============================================
-- Author: <BON,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[GetSPortBookSum]
@MemberCoder Varchar(20),
@Currency varchar(20),
@FromDate varchar(50),
@ToDate varchar(50),
@Sports varchar(50),
@StartIndex int =0,
@EndIndex int =16,
@TotalCount int=0 output
AS
BEGIN
DECLARE @Sql VARCHAR(1000)
DECLARE @TotalCountSql nvarchar(3000)--统计记录总数
DECLARE @strWhere varchar(1000)
DECLARE @orderSql varchar(100)
SET @strWhere=''
Set @Sql='select * from (
SELECT row_number() over (order by SportName, Currency) as orderIndex,
SportName,Currency,SUM(WinLoss) as WinLoss,
SUM(Turnover) as Turnover,
SUM(GameCount)as GameCount
from tblMemberBetSPDailyLog where '
if @MemberCoder!= ''
Set @strWhere=' MemberCode='+''''+@MemberCoder+''''+' AND '
if @Currency!= '0'
Set @strWhere='Currency='+''''+@Currency+''''+' AND '
if @Sports!='0'
Set @strWhere=@strWhere+'SportName='+''''+@Sports+''''+' AND '
Set @strWhere=@strWhere+'DateMatch >='''+@FromDate+''' AND DateMatch <='''+@ToDate+ ''' '
Set @strWhere=@strWhere+' group by SportName, Currency '
Set @Sql=@Sql+@strWhere
Set @Sql=@Sql+')sb where sb.orderIndex between '+CAST(@StartIndex AS VARCHAR)+' AND '+CAST(@EndIndex AS VARCHAR)
--查询出记录总数。
SET @TotalCountSql = 'SELECT @TotalCount=COUNT(*) FROM tblMemberBetSPDailyLog WHere '
SET @TotalCountSql = @TotalCountSql + @strWhere
PRINT @TotalCountSql
print @Sql
EXECUTE sp_executesql @TotalCountSql,N'@TotalCount INT OUTPUT',@TotalCount OUTPUT
EXECUTE(@Sql)
END