Announcement

Collapse
No announcement yet.

Kummulierung von Datensätzen

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

  • Kummulierung von Datensätzen

    Hallo liebe Communityfreunde,

    ES IST DER SQL 2005 SERVER IM EINSATZ

    nach Stundenlangem rechachieren, hier im Forum, Google und Co. habe ich mich dazu entschlossen euch Profis um Rat zu fragen.

    Es geht eigentlich um eine einfache Kummulierung / Group - Funktion.

    Hier man ein einfaches Beispiel:

    ID Nummer Objekt
    0 1234 Hund
    1 1234 Katze
    2 1234 Maus
    3 1234 Muhkuh
    4 1234 Suppenhuhn

    Ich brauche ein SQL-Query-Befehl der mir folgendes Ergebnis liefert.
    Nummer Objekt
    1234 Hund,Katze,Maus,Muhkuh,Suppenhuhn

    Für Lösungen / Lösungsansätze wäre ich euch wirklich dankbar.
    Ich denke ich sehe den Wald vor lauter Abfragen nicht mehr.

    mit freundlichem Gruß
    vollmilch
    Zuletzt editiert von vollmilch; 28.02.2008, 15:00.

  • #2
    Es wäre gut zu wissen welche DB du hast. Ich denke dies wird nur im Rahmen von Herstellererweiterungen von SQL möglich sein.

    Comment


    • #3
      Es wird SQL 2005 genutzt. Dieser Text ist nun wohl lang genug. :-)

      Comment


      • #4
        Jetzt könnte ich noch sagen das SQL 2005 keine bekannte Datenbank ist.
        Aber ich denke du meinst Microsoft SQL Server 2005. Verschiebe mal den Beitrag.

        Comment


        • #5
          http://entwickler-forum.de/showthread.php?t=44395

          Comment


          • #6
            Code:
            CREATE TABLE #test (ID INT, Nummer INT, Objekt NVARCHAR (256))
            INSERT INTO #Test VALUES (0, 1234, N'Hund')
            INSERT INTO #Test VALUES (1, 1234, N'Katze')
            INSERT INTO #Test VALUES (2, 1234, N'Maus')
            INSERT INTO #Test VALUES (3, 1235, N'Muhkuh')
            INSERT INTO #Test VALUES (4, 1235, N'Suppenhuhn')
            
            SELECT DISTINCT Nummer, LEFT(Objektliste, LEN(Objektliste)-2) AS Objektliste
            FROM #test t 
            CROSS APPLY
            		 (SELECT Objekt + ', '
            		  FROM #Test tList
            		  WHERE tList.Nummer= t.Nummer 
            		  ORDER BY T.Objekt
            		  FOR XML PATH('')
            		 ) AS x(Objektliste)
            DROP TABLE #test
            liefert das Select folgendes:

            Nummer Objektliste
            ----------- --------------------------
            1234 Hund, Katze, Maus
            1235 Muhkuh, Suppenhuhn

            (2 Zeile(n) betroffen)

            Comment

            Working...
            X