Snippet Name: envrowgroup
Tags: helpful,scriptgeneration
Created Date: Oct 1 2021 8:05AM
Last Modified Date: Oct 1 2021 8:05AM
–desc: simple split tables to groups per day
Dependencies: none-standalone code
default description
Sample Output:
--desc: simple split tables to groups per day
declare @slices int = 7;
;WITH
baseCTE AS
(
SELECT
(ROW_NUMBER() OVER (ORDER BY name)-1)/@slices+1 AS RW,
(ROW_NUMBER() OVER (ORDER BY name)-1)%@slices+1 AS CL,
quotename(schema_name(schema_id)) + '.' + quotename(name) As name
FROM sys.tables
)
SELECT MAX(CASE WHEN CL = 1 THEN name ELSE '' END) AS Col1Tablename,
MAX(CASE WHEN CL = 2 THEN name ELSE '' END) AS Col2Tablename,
MAX(CASE WHEN CL = 3 THEN name ELSE '' END) AS Col3Tablename,
MAX(CASE WHEN CL = 4 THEN name ELSE '' END) AS Col4Tablename,
MAX(CASE WHEN CL = 5 THEN name ELSE '' END) AS Col5Tablename,
MAX(CASE WHEN CL = 6 THEN name ELSE '' END) AS Col5Tablename,
MAX(CASE WHEN CL = 7 THEN name ELSE '' END) AS Col5Tablename
FROM baseCTE
GROUP BY RW