sql >> Databasteknik >  >> RDS >> Sqlserver

SQL-konvertera data till en rad från flera kolumner

Du måste använda PIVOT . Något i stil med följande fråga borde hjälpa.

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;



  1. GROUP BY-beteende när inga aggregerade funktioner finns i SELECT-satsen

  2. Hur man genererar en ireport enligt användarinmatning i netbean gui

  3. Hur man hittar Top Losers för 1 dag, 1 månad baserat på historiska data

  4. SQL:Normalisering av databasen med bibehållande av begränsningar