TSQL Challenge 15 - Solution by Fabien Contaminard (2)



-- File Name: fabien_contaminard_tsqlchallenge_15_2.sql
WITH Divide (Col, Row, Match) AS
(
  SELECT Col, Row,
         CASE Row%Col WHEN 0 THEN 'x' ELSE '' END
    FROM @Cols CROSS JOIN @Rows
)
  SELECT Row, [1], [2], [3], [4], [5], [6], [7], [8], [9]
    FROM Divide
   PIVOT (MAX(Match) FOR Col IN ([1], [2], [3], [4], [5], [6], [7], [8], [9])) AS PVT
ORDER BY Row ASC;