Announcement

Collapse
No announcement yet.

Zeilen in Spalten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zeilen in Spalten

    Hallo,

    ich habe mir hier schon die Zähne ausgebissen an dem Versuch die Zeilen in Spalten abzubilden.

    Meine Ausgangstabelle sieht folgendermaßen aus:

    ID ......... FK .............. NAME ............... VALUE
    A01_B01 .... A01 ............. Auto ............... Rot
    A01_B02 .... A01 ............. LKW ................ NULL
    A01_B03 .... A01 ............. Reifen ............. Winter
    A02_B01 .... A02 ............. Auto ............... Grau
    A02_B02 .... A02 ............. LKW ................ 40t


    Was ich jetzt versuchen möchte, ist die Ausprägungen für Auto und LKW in Spalten zu überführen, so dass das Ergebnis folgendermaßen aussieht:

    FK .......... Auto ........... LKW
    A01 ......... Rot ............ NULL
    A02 ......... Grau ........... 40t

    Bei meinem SQL-Statement werden unerwünschter Weise immer die Zeilen doppelt aufgeführt. Ich schaffe es also nicht, dass die beiden Ausprägungen für LKW und Auto in einer Zeile auftauchen.

    FK .......... Auto ........... LKW
    A01 ......... Rot ............ NULL
    A01 ......... NULL ........... NULL
    A02 ......... Grau ........... NULL
    A02 ......... NULL ........... 40t


    Hier mein zugrundeliegendes SQL-Statement:

    Code:
    SELECT FK, 'Auto' =
    		CASE NAME WHEN 'Auto' THEN VALUE ELSE NULL END,
    	'LKW' =
    		CASE NAME WHEN 'LKW' THEN VALUE ELSE NULL END
    FROM tablexyz
    WHERE NAME IN ('Auto','LKW')
    Hat jemand eine Idee wie ich zu meinem gewünschten Ergebnis komme?

    Für Eure Ideen schon mal vielen Dank im Voraus.

    Gruß Jonas

  • #2
    Probiere mal das:
    Code:
    SELECT T0.FK, T1.value as Auto, T2.value as LKW
    FROM tablexyz as T0
    left join tablexyz as T1 on T1.FK = T0.FK and T1.Name = 'Auto'
    left join tablexyz as T2 on T2.FK = T0.FK and T2.Name = 'LKW'
    bye,
    Helmut

    Comment


    • #3
      Hallo Helmut,

      Dein Statement bringt tatsächlich beide Attributsausprägungen nebeneinander, doch leider mehrfach - sprich, die Anzahl der Zeilen bleibt die gleiche. Bezogen auf das Beispiel sieht die Ausgabe folgendermaßen aus:

      FK .......... Auto ........... LKW
      A01 ......... Rot ............ NULL
      A01 ......... Rot ............ NULL
      A01 ......... Rot ............ NULL
      A02 ......... Grau ........... 40t
      A02 ......... Grau ........... 40t


      Gruß Jonas

      Comment


      • #4
        zuerst denken, dann fragen - ein DISTINCT hilft manchmal

        Comment

        Working...
        X