Announcement

Collapse
No announcement yet.

SQL: Per select string zusammensetzen

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

  • SQL: Per select string zusammensetzen

    Hallo

    Hier ein einfaches Beispiel was ich brauche:
    Eine Tabelle mit zwei Spalten: ID und Nachname

    Nun sollen alle Nachnamen mit einem select Behlen ausgegeben werden.
    (select namename from tabelle)
    Aber die Namen sollen alle als eine lange zeichenkette zurückkommen (getrennt mit einem Leerzeichen).
    ist das möglich?

    z.B.

    --ID----Nachname
    -1------Mustermann
    -2------Bauer
    -3------Schmitz


    Dann soll die Ausgabe lauten: "Mustermann Bauer Schmitz"


    Danke

    P.S. Benutzt wid Microsoft SQL 2008

  • #2
    Da m.W. MSSQL keinen List() Befehl kennt, wäre das nur ine einer SP o.ä oder im Programm zu lösen

    Comment


    • #3
      Gibt es wirklich keine Möglichkeit dies in SQL zu lösen???

      Comment


      • #4
        Hi,

        das nennt sich pivotieren.

        Dim
        Zitat Tom Kyte:
        I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

        Comment


        • #5
          Dann hast du pro Zeiel eine Spalte er will aber alles in einer Spalte

          Comment


          • #6
            Er braucht es doch einfach nur als Subselect schreiben und im übergeordneten Select die Ergebnisspalten per CONCAT (oder wie das in MSSQL auch heißt) zu verbinden. Auch sein >> , << kann dann mit rein.

            Dim
            Zitat Tom Kyte:
            I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

            Comment


            • #7
              Die Anzahl der Einträge ist aber nicht bekannt. Da wäre es m.E. einfacher in eine Schleife die Werte aneinanderzuhängen ( SP/im Programm)

              Comment


              • #8
                Wi würde dies dann für die Tabelle

                --ID----Nachname
                -1------Mustermann
                -2------Bauer
                -3------Schmitz

                funktionieren?

                Comment


                • #9
                  Mit welchem Verfahren?

                  Comment


                  • #10
                    z.B. mit dem "CONCAT " Verfahren? (Aber es ist mir eigentlich egal mit welche Verfahren. Es muss aber in SQL sein.)
                    Zuletzt editiert von Squicky; 04.06.2010, 15:43.

                    Comment


                    • #11
                      Null Problemo[HIGHLIGHT="SQL"]
                      WITH data AS
                      ( SELECT 1 AS ID , 'Mustermann' AS Nach UNION ALL
                      SELECT 2 , 'Bauer' UNION ALL
                      SELECT 3, 'Schmitz'
                      )
                      SELECT STUFF (CAST (x.Names AS VARCHAR(MAX)), 1, 2, SPACE(0))
                      FROM (
                      SELECT NCHAR(44)+NCHAR(32) + Nach
                      FROM Data
                      FOR XML PATH ('')
                      ) AS X (Names)[/HIGHLIGHT]

                      Comment

                      Working...
                      X