none
Wie kann das Ergebnis einer Distinct-Abfrage als Spalten einer weiteren Abfrage in MS-SQL-Server2017 verwendet werden? RRS feed

  • Frage

  • Guten Tag,

    ich versuche schon seit einigen Stunden die Werte eines SELECT DISTINCT [xxx] in einer weiteren SELECT-Anweisung als Spalten zu verwenden. Ich bin dabei weder mit Parametern noch mit dyn. SQL weitergekommen.

    Hat hier jemand eine Idee dazu?

    Grüße Jürgen

    Dienstag, 18. September 2018 04:56

Alle Antworten

  • Hallo Jürgen,

    das verstehe ich nicht so ganz, kannst Du das mit einem Beispiel verdeutlichen? Meinst Du evtl. eine Unterabfrage = Subquery? Oder eine CTE, siehe Deinen anderen Thread?


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Dienstag, 18. September 2018 05:36
  • Hallo Olaf,

    danke für die Rückmeldung.

    Ich habe hier auch eine Lösung gefunden. Es geht darum, dass die DISTINCT-Werte einer Spalte, die Spalten einer weiteren Tabelle werden sollten. Ich habe das wie folgt gelöst:

    DECLARE @cols NVARCHAR(max),
            @query NVARCHAR(max)
    
    SELECT @cols = 
    STUFF
    (
      (
        SELECT ',' + ' QUOTENAME(Ort) 
        FROM HitTable$
        GROUP BY Ort
        FOR XML PATH(''), TYPE
      ).value('.', 'NVARCHAR(max)'),1,1,''
    )
    
    
    SET @query = 'SELECT x, y, ' + @cols + ' FROM ...
    
    execute(@query)
    
    

    Damit hat es funktioniert :-)

    Gruß Jürgen

    Dienstag, 18. September 2018 10:17