看不到的SQl

DECLARE @sql NVARCHAR(Max)
DECLARE @condition NVARCHAR(max)

SET @SQL ='SELECT SUM(CT.PurchaseValue) PurchaseValue
,SUM(o.DiscountPrice) DiscountPrice
FROM [dbo].[Coupon] AS C WITH(NOLOCK)
JOIN dbo.CouponType AS CT WITH(NOLOCK) ON C.CouponTypeId = CT.CouponTypeId
left join dbo.UserLevel as ul with (nolock) on CT.UserLevelId=ul.UserLevelId
LEFT JOIN dbo.TradeUser AS U WITH(NOLOCK) ON C.UserID = U.UserID LEFT JOIN (SELECT od.OrderCode,odd.DiscountPrice,odd.SaleActivityDetail FROM dbo.[Order] od WITH(NOLOCK) JOIN dbo.OrderDiscountDetail odd WITH(NOLOCK) ON od.OrderID = odd.OrderID WHERE odd.SaleActivityRuleType=3 AND odd.DiscountType=1 AND OD.OrderStatus>0) o ON C.Code=o.SaleActivityDetail'

SET @condition = ' where 1=1 '

IF @CreateStartTime <> '1900-01-01'
BEGIN
SET @condition = @condition + ' and C.[CreateTime] between @CreateStartTime and @CreateEndTime'
END
IF @UseStartTime <> '1900-01-01'
BEGIN
SET @condition = @condition + ' and C.[UseTime] between @UseStartTime and @UseEndTime'
END

IF @BeginDate<>'1900-01-01'
BEGIN
SET @condition=@condition+' and c.AvailableTime BETWEEN @BeginDate AND @EndDate'
END

IF @ExpiredTimeStart<>'1900-01-01'
BEGIN
SET @condition=@condition+' and C.ExpiredTime BETWEEN @ExpiredTimeStart AND @ExpiredTimeEnd'
END

IF @CouponTypeId <> 0
BEGIN
SET @condition = @condition + ' and C.CouponTypeId= @CouponTypeId'
END

IF @SourceType <> 0
BEGIN
SET @condition = @condition + ' and C.SourceType = @SourceType'
END

IF @PresentType <> -1
BEGIN
SET @condition = @condition + ' and CT.PresentType = @PresentType'
END

IF @Code <> ''
BEGIN
SET @condition = @condition + ' and c.Code = @Code'
END

IF @Status <> -9
BEGIN
SET @condition = @condition + ' and c.Status = @Status'
END

IF @UserName <> ''
BEGIN
SET @condition = @condition + ' and U.UserName LIKE @UserName'
END

IF @UserId>0
BEGIN
SET @condition=@condition+' AND U.UserID=@UserId'
END

SET @sql = @SQL + @condition


EXEC SP_EXECUTESQL @sql,N'@CouponTypeId INT,@SourceType INT,@Code varchar(100),@Status INT,@UserName Varchar(100),@PresentType INT,@CreateStartTime datetime,@CreateEndTime datetime,@UseStartTime datetime,@UseEndTime datetime,@BeginDate datetime,@EndDate datetime,@ExpiredTimeStart datetime,@ExpiredTimeEnd datetime,@UserId INT',
@CouponTypeId,@SourceType,@Code,@Status,@UserName,@PresentType,@CreateStartTime,@CreateEndTime,@UseStartTime,@UseEndTime,@BeginDate,@EndDate,@ExpiredTimeStart,@ExpiredTimeEnd,@UserId

posted @ 2014-05-09 18:03  小菜鸟飞飞  阅读(206)  评论(0编辑  收藏  举报