TSQL Challenge 15 - Solution by Krzysztof Lukowski



-- File Name: Krzysztof_Lukowski_TSQLChallenge_15.sql
SELECT ROW, 
	CASE WHEN [1] = 1 THEN 'X' ELSE '' END AS [1], 
	CASE WHEN [2] = 1 THEN 'X' ELSE '' END AS [2], 
	CASE WHEN [3] = 1 THEN 'X' ELSE '' END AS [3], 
	CASE WHEN [4] = 1 THEN 'X' ELSE '' END AS [4], 
	CASE WHEN [5] = 1 THEN 'X' ELSE '' END AS [5], 
	CASE WHEN [6] = 1 THEN 'X' ELSE '' END AS [6], 
	CASE WHEN [7] = 1 THEN 'X' ELSE '' END AS [7], 
	CASE WHEN [8] = 1 THEN 'X' ELSE '' END AS [8], 
	CASE WHEN [9] = 1 THEN 'X' ELSE '' END AS [9] 
FROM (SELECT C.COL
	, R.ROW
	, CASE WHEN R.ROW % C.COL = 0 THEN 1 ELSE 0 END AS [MOD]
FROM @COLS AS C
CROSS JOIN @ROWS AS R) AS MODULO
PIVOT (SUM(MOD) FOR COL IN ([1], [2], [3], [4], [5], [6], [7], [8], [9])) AS PVT

Did you find something incorrect/wrong with this solution? Take a few seconds to Report It.

Did you understand how this solution work? If you find it difficult to understand, you can Request an Explanation or you can Write an explanation to help others better understand this solution.