Advertisement
Piexplode

sp_CreateTournament - START

Aug 12th, 2020
2,320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.33 KB | None | 0 0
  1. IF (SELECT COUNT(1) FROM vw_ActiveSeasonRefs A WHERE A.SeasonName = VarSeasonName) = 1
  2. THEN
  3.     IF (SELECT COUNT(1) FROM t_Sets) > 0
  4.     THEN
  5.         WITH RECURSIVE cte_SetIds AS
  6.            (SELECT 1 AS SetId
  7.              UNION ALL
  8.             SELECT SetId + 1
  9.               FROM cte_SetIds
  10.              WHERE SetId + 1 < (SELECT POW(2,CEIL(LOG(2,(SELECT COUNT(1)
  11.                                   FROM t_Signups S
  12.                                   JOIN vw_ActiveSeasonRefs A
  13.                                     ON S.SeasonRefFk = A.ActiveSeasonRef
  14.                                  WHERE A.SeasonName = VarSeasonName)) - 0.5)) AS BracketSize))
  15.         SELECT SetId + MAX(SetIdPk) AS NewSetId
  16.           FROM cte_SetIds C
  17.     CROSS JOIN t_Sets S;
  18.     ELSE
  19.         WITH RECURSIVE cte_SetIds AS
  20.            (SELECT 1 AS SetId
  21.              UNION ALL
  22.             SELECT SetId + 1
  23.               FROM cte_SetIds
  24.              WHERE SetId + 1 < (SELECT POW(2,CEIL(LOG(2,(SELECT COUNT(1)
  25.                                   FROM t_Signups S
  26.                                   JOIN vw_ActiveSeasonRefs A
  27.                                     ON S.SeasonRefFk = A.ActiveSeasonRef
  28.                                  WHERE A.SeasonName = VarSeasonName)) - 0.5)) AS BracketSize))
  29.         SELECT SetId AS NewSetId
  30.           FROM cte_SetIds C;
  31.     END IF;
  32. ELSE
  33.  SELECT 'Invalid Season Name';
  34. END IF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement