Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL converte i dati in una riga da più colonne

È necessario utilizzare PIVOT . Qualcosa come la seguente query dovrebbe aiutare.

SELECT CustomerNumber, 
    CASE WHEN [1] > 0 THEN 'Y' ELSE 'N' END [Sony],
    CASE WHEN [2] > 0 THEN 'Y' ELSE 'N' END [LG],
    CASE WHEN [3] > 0 THEN 'Y' ELSE 'N' END [Samsung]
FROM
(SELECT Product1, CustomerNumber
    FROM Table) AS SourceTable
PIVOT
(
    COUNT(Product1)
    FOR Product1 IN ([1], [2], [3])
) AS PivotTable;