drifter800 Geschrieben 24. Februar 2009 Teilen Geschrieben 24. Februar 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 24. Februar 2009 Teilen Geschrieben 24. Februar 2009 kommt auf die datenbank drauf an jedoch bieten manche funktionen wie PIVOT etc. an; denn das ist genau das, was du willst: pivotieren. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
drifter800 Geschrieben 24. Februar 2009 Autor Teilen Geschrieben 24. Februar 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 24. Februar 2009 Teilen Geschrieben 24. Februar 2009 (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 24. Februar 2009 von dbwizard Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 24. Februar 2009 Teilen Geschrieben 24. Februar 2009 oracle 9, 10, 11? AFAIR ist PIVOT ab 11g implementiert, davor müsstest du irgendein verfügbares package verwenden. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
drifter800 Geschrieben 24. Februar 2009 Autor Teilen Geschrieben 24. Februar 2009 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!!) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 24. Februar 2009 Teilen Geschrieben 24. Februar 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.