TSQL Challenge 15 - Solution by Diego Pighin



-- File Name: diego_pighin_tsqlchallenge_15.sql
SELECT [row], 
		CASE [1] WHEN 0 THEN 'X' ELSE '' END AS [1], 
		CASE [2] WHEN 0 THEN 'X' ELSE '' END AS [2],
		CASE [3] WHEN 0 THEN 'X' ELSE '' END AS [3],
		CASE [4] WHEN 0 THEN 'X' ELSE '' END AS [4],
		CASE [5] WHEN 0 THEN 'X' ELSE '' END AS [5],
		CASE [6] WHEN 0 THEN 'X' ELSE '' END AS [6],
		CASE [7] WHEN 0 THEN 'X' ELSE '' END AS [7],
		CASE [8] WHEN 0 THEN 'X' ELSE '' END AS [8], 
		CASE [9] WHEN 0 THEN 'X' ELSE '' END AS [9]
FROM (
		SELECT r.row, c.col, r.row%c.col  AS [value]
		FROM @cols c
		CROSS JOIN @rows r
	 ) q
PIVOT
(
	SUM([value]) FOR [col] IN ([1], [2], [3], [4], [5], [6], [7], [8], [9])
) AS pivotTable;