标签:exist user into 实战 情况 levels 四种 表数 大量
1 DECLARE @UserCount1 INT --VIP等级大于28的用户数 2 SELECT T.UserID INTO #TempTableOf28 3 FROM GAMECENTERLINKEDSERVER.GameCenter.LevelSystem.VIP_UserGrade VG ,#TempTable T 4 WHERE VG.UserID = t.UserID AND VG.Grade>=28 ORDER BY VG.Grade DESC --倒叙,高VIP等级优先获奖 5 SELECT @UserCount1=COUNT(UserID) FROM #TempTableOf28
1 DECLARE @StringUserID1 VARCHAR (max) 2 SET @StringUserID1=‘‘ 3 IF EXISTS(SELECT 1 FROM #TempTableOf28 ) AND @UserCount1<=1000 --VIP等级大于28,要么不足1000,要么直接取完,取完改@DrawCount=0,不再执行其他部分 4 SELECT @StringUserID1=@StringUserID1+‘,‘+CAST(UserID AS VARCHAR) FROM #TempTableOf28 5 ELSE IF EXISTS(SELECT 1 FROM #TempTableOf28 ) AND @UserCount1>1000 6 SELECT TOP 1000 @StringUserID1=@StringUserID1+‘,‘+CAST(UserID AS VARCHAR) FROM #TempTableOf28
小结:有四种情况需要创建四个临时表,判断结构中直接把相应的部分转换为字符串结构。
1 IF (SELECT COUNT(1) FROM @vip)<=1000 2 INSERT INTO @UsersLast 3 SELECT UserID FROM @vip 4 ELSE IF (SELECT COUNT(1) FROM @vip WHERE Vip>=28)>=1000 5 INSERT INTO @UsersLast 6 SELECT TOP 1000 UserID FROM @vip WHERE vip>=28 15 ELSE 16 INSERT INTO @UsersLast 17 SELECT TOP 1000 UserID FROM @vip 18 ORDER BY vip DESC
小结:直接写入表,判断结构清晰,最后再将相关表直接转换为符合要求的类型。
标签:exist user into 实战 情况 levels 四种 表数 大量
原文地址:https://www.cnblogs.com/zhangrenzhi/p/8797038.html