Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoie toutes les combinaisons possibles de valeurs sur les colonnes en SQL

En supposant au moins SQL 2005 pour le 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