[MSSQL] UNPIVOT mit Column-Names joinen?



  • Guten Morgen

    Ich benutze UNPIVOT, um schwach besetzte Zeilen in einer Datenbanktablle zu normalisieren. Gegeben sei folgendes Beispiel für den SQL Server 2008 R2, wo auf einer Row eine variable Anzahl von den Telefonnummern steht. Diese Telefonnummern sollen aus den Columns in eigentständige Rows projeziert werden:

    SELECT
        Nummer,
    FROM
        dbo.Kunden UNPIVOT (
            Nummer FOR Nummern IN (
                Telefon1,
                Telefon2,
                Telefon3,
                Telefon4
            )
        ) [UNPIVOT]
    WHERE
        NOT COALESCE([UNPIVOT].Nummer, N'') = N''
    

    Ist es irgendwie möglich, beim SELECT -Statement der Nummer noch einen weiteren Wert zuzuordnen. Ich hätte gerne den Column-Name via UNPIVOT in den SELECT genommen, aber es geht nicht. Zweck ist eine Einwegsynchronisation.


Anmelden zum Antworten