1.6k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

ich habe grade Probleme, ein verschachteltes Select zu erstellen :(

Folgende Situation:

- Ich habe eine Tabelle mit POP3-Accounts mit Primärschlüssel auf ID.
- Die zweite Tabelle beinhaltet Gruppen, ebenfalls mit einer eindeutigen ID
- Eine dritteTabelle beinhaltet die Zuordnungen dieser Accounts zu bestimmten Gruppen. Die Tabelle hat also zwei Spalten, die gleichzeitig Primärschlüssel sind. Aufbau also: POP3-Account-ID und Gruppen-ID. Somit kann ein Account mehreren Gruppen zugeordnet sein.

Ich hoffe das war so weit verständlich wie ich das meine.
Nun möchte ich mir eine Tabelle ausgeben lassen, in der ich alle Accounts aufliste (z.b. die ID) und in einer zweiten Spalte alle Gruppen mit Komma getrennt. Beispiel:

Account-ID | Gruppen
-----------------------------------------
1 | Grp1, Grp2, Grp4
-----------------------------------------
2 | Grp1, Grp3

Wie kann ich sowas realisieren? oder geht das gar nicht und ich muss es später in PHP abarbeiten?

5 Antworten

0 Punkte
Beantwortet von sst Mitglied (127 Punkte)
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Falls wir von MySQL reden, dann ist das nicht möglich. Selektier die Daten jeweils einzeln, sodass du zwei Felder davon hast und stell sie dann unter PHP entsprechend dar. Mehr Details?
0 Punkte
Beantwortet von
Hm ich hatte mir das schon gedacht, dass das so nicht funktioniert. Wie ich das in PHP machen kann, weiß ich allerdings. Ich dachte es geht vielleicht noch etwas einfacher, aber dann weiß ich bescheid.

Aber vielleicht noch mal ne generelle Frage:
Meine Ansicht war immer, dass man bei Abfragen möglichst viel der Datenbank überlassen sollte, so dass später in  PHP nicht mehr viel aufbereitet werden muss. Ist das so korrekt oder gibt es Situationen (außer solche wie diese, wo es nicht anders geht), wo man eher mit PHP irgendwelche Konvertierungen etc vornehmen sollte?
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Das muss man immer wieder aufs neue abwiegen: sind die Datenabfragen immer gleich, dann sollte man vieles von dem DBMS erledigen lassen - dieser erkennt i.d.R. häufige identische Abfragen und pendelt sich entsprechend drauf ein.

Gibt es aber häufige und/oder verschiedene Anfragen, sollte man Umwandlungen und Konvertierungen vermeiden und diese lieber in PHP erledigen, wie z.B. Datumsformatierungen und Stringumwandlungen.

[u]Auf keinen Fall[/u] sollte man aber unnötigerweise zuviel Daten abfragen, von denen man unter PHP dann einen Teil wegwirft, z.B. bei einer seitenweisen Darstellung sollte unter MySQL stets auch LIMIT benutzt werden, statt alle Daten abzufragen, in ein Feld zu quetschen und dann nur ein Teil dieses Feldes auszugeben.
0 Punkte
Beantwortet von
Ok. danke für die Hilfe!
...