Entwickler-Ecke
Datenbanken - Zellen Werte mehrerer Zeilen gruppieren
OliverN_26 - Fr 27.07.12 07:57
Titel: Zellen Werte mehrerer Zeilen gruppieren
Hallo liebes Forum
Wusste nicht wie ich den Betreff beschreiben sollte. Ich suche also nicht "LIMIT". Ich möchte die Ergeniszeilen in einem Feld zusammen clippen.
Beispiel:
Quelltext
1: 2: 3: 4: 5: 6:
| ID Name Auto -------------------------------- 1 Peter Mercedes 2 Hans Audi 3 Klaus Opel 4 Oliver VW |
--> "SELECT Name FROM table ORDER BY Name"
Ergebnis soll nun "nicht" 4 Zeilen untereinander sein, sondern 1 Feld in dem "Hans, Klaus, Oliver, Peter" steht.
Geht so was?
P.s.: Das Beispiel hat nichts mit meiner Situation zu tun. Ich benötige das da ich zu einer Auftragsnummer mehrere Texteinträge in einem Table habe und diese würde ich gerne zusammenschneiden, anstatt sie untereinander anzuzeigen.
Vielen Dank im voraus.
lg
Oli
OliverN_26 - Fr 27.07.12 08:52
Ich kenne CONCAT, aber damit kann ich doch nur Felder einer Ergebniszeile zusammenschneiden, oder?
Wie würde denn der SELECT aussehen, wenn ich mit CONCAT mehrere Ergebniszeilen zusammenschneide?
Danke
lg
Oli
thepaine91 - Fr 27.07.12 10:42
Ja das geht auch:
SQL-Anweisung
1:
| SELECT `x_id`, group_concat(' seperator ') FROM tabel GROUP BY `data_field`; |
EDIT: Und den Titel könntest du z.B. in "Zellen Werte mehrerer Zeilen zusammenführen/gruppieren" oder ähnlich ändern. ;)
OliverN_26 - Fr 27.07.12 11:03
Ein Traum. Das ist genau was ich gesucht habe.
Vielen Dank :-)
OliverN_26 - Fr 03.08.12 11:11
Hallo
Ich muß das Thema leider noch mal pushen, da ich auf ein kleines Problem gestoßen bin.
Generier ich meinen SELECT in PHPMyAdmin (oder sonstiger Datenbank-Software) steht in der Spalte "group_concat" alles so wie es sein soll. Binde ich den SELECT in ein AJAX-Script ein schneidet er mir ständig Zeichen ab (so bei 340).
GROUP_CONCAT_MAX_LEN hab ich entdeckt, aber 1024 sollte doch die Anzahl der Zeichen sein (?!), welche ich doch somit gar nicht erreiche.
Frage: Mach ich was falsch? Muß ich ggf. den MAX_LEN erhöhen? Nur müsste er nicht in der Datenbank-Software auch abschneiden?
Vielen Dank im voraus
lg
Oliver
OliverN_26 - Mo 06.08.12 07:23
Hallo
Ein
SQL-Anweisung
1:
| SET GROUP_CONCAT_MAX_LEN = 2048 |
war die Lösung.
Danke noch einmal.
lg
Oli
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!