How do I return a list of all combinations of values in 2 columns so they are new rows in T-SQL?
e.g.
Col1, Col2 ---- ---- 1 2 1 4 1 5 <
Assuming at least SQL 2005 for the CTE:
;with cteAllColumns as ( select col1 as col from YourTable union select col2 as col from YourTable ) select c1.col, c2.col from cteAllColumns c1 cross join cteAllColumns c2 where c1.col < c2.col order by c1.col, c2.col