Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moinmoin,

ich habe da mal eine Frage ...

Wenn ich mit sql Daten selektiere sieht das ja in etwa so aus;

<< select Niederlassungsnummer, Produktnummer from sorte where Niederlassungsnummer in (30,31);>>

Niederlassungsnummer Produktnummer

30 10

30 20

30 22

30 24

31 10

31 21

31 22

31 25

Wenn ich das jetzt aber anders darstellen möchte, nämlich so

Niederlassungsnummer Produktnummer

30 10, 20, 22, 24

31 10, 21, 22, 25

Wie müsste das Statement aussehen? :confused:

Mfg

Sven

Geschrieben (bearbeitet)
Hallo,

ist ne Oracle DB auf die ich mit dem PLSQL-Developer zugreife, stellt sich somit die die Frage ob SQL das leistet

Mfg

Sven

-ja/Nein/Vieleicht....Welche Version der DB ist es denn ?

-- Ab Oracle 9 könntest du mal folgendes probieren :


select

   deptno,

   xmltransform

   (

      sys_xmlagg

      (

         sys_xmlgen(ename)

      ),

     xmltype

     (

       '<?xml version="1.0"?><xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

          <xsl:template match="/">

            <xsl:for-each select="/ROWSET/ENAME">

              <xsl:value-of select="text()"/>;</xsl:for-each>

          </xsl:template>

        </xsl:stylesheet>'

     )

  ).getstringval() listagg

from scott.emp

group by deptno

/

- Dies ist für das Beispielschema SCOTT/TIGER

- Müsstest du für deine Zwecke anpassen

- Ab Oracle 11g gibt es dafür einen deziedierte PIVOT - Funktion

Gruss

Bearbeitet von dbwizard
Geschrieben

Hallo,

danke für die Antworten, mit "pivotieren" bin ich selbst nochmal suchen gegangen und habe auch was gefunden was ich mal ausprobieren muss.

Allerdings möchte ich meine Frage nochmal vereinfachen (ob das allerdings wirklich einfacher ist?.....).

Die neu horizontal dargestellten Produkte sollen nicht in jeweils eigenen Spalten sondern kommagetrennt zusammen in einer Spalte stehen.

Also

Niederlassungsnummer Produktnummer

30-------------------10, 20, 22, 24

31-------------------10, 21, 22, 25

mfg

Sven

(Wenn der Bauer nicht schwimmen kann ist die Badehose schuld!!)

Geschrieben
Hallo,

danke für die Antworten, mit "pivotieren" bin ich selbst nochmal suchen gegangen und habe auch was gefunden was ich mal ausprobieren muss.

Allerdings möchte ich meine Frage nochmal vereinfachen (ob das allerdings wirklich einfacher ist?.....).

Die neu horizontal dargestellten Produkte sollen nicht in jeweils eigenen Spalten sondern kommagetrennt zusammen in einer Spalte stehen.

Also

Niederlassungsnummer Produktnummer

30-------------------10, 20, 22, 24

31-------------------10, 21, 22, 25

mfg

Sven

(Wenn der Bauer nicht schwimmen kann ist die Badehose schuld!!)

Hallo,

hast du mein Beispiel probiert ? Es macht ja genau das gewünschte ? Du kannst das "Trennzeichen" hier einstellen (Aktuell ist es ein Strichpunkt)


<xsl:value-of select="text()"/>;</xsl:for-each> <<<-----Hier Strichpunkt durch Komma oder was auch immer erstetzen...

gruss

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...