yo,
Ich habe einen Table tbl_usr und einen tbl_group. Es existiert eine 1-zu-n-Relation von usr zu group, d.h. jeder usr kann mit mehren group-Datensätzen verknüpft sein (klar).
da habe ich meine zweifel, es handelt sich wohl eher um eine n:m beziehung, sprich jeder user kann in mehreren gruppen sein und jede gruppe kann mehrere user besitzen, es sei denn du meinst, dass jeder user nur eine gruppe besitzen kann.
Nun hätte ich gern eine View, die mir 1. alle Columns von usr zurückgibt, als auch einen String, in dem kommasepariert alle groups drinstehen.
das wird ohne zusätzliche programmierung nicht möglich sein, da mann ja nie genau weiß, wieviele gruppen es geben kann. und somit wird es schwierig, die selektion in eine projektion umzuwandeln. Oracle kann so etwas mit sqlplus.
Funktioniert allerdings nicht, weil der Subselect natürlich mehr als eine Row zurückgibt und die nicht in einen String verwandelt wird.
genau das ist oben angesprochene problem von selektion und projektion. man kann soetwas lösen, wenn man genau weiss, wieviele datensätze ausgewählt werden. aber in deinem fall ist es unterschiedlich.
Von MySQL hatte ich sowas wie Concat in Erinnerung, die PGSQL-Variante davon haut aber in dem Fall auf keinen Fall hin.
Concat fügt nur spalten inerhalb eines datensatzes zusammen, du willst aber informationen zusammenführen, die in mehreren datensätze der ergebnismenge stehen.
Ich spiele derweil mal mit einer PL/pgSQL-Funktion rum, evlt. geht das so...
mit PL/SQL geht es auf jeden fall, mit sqlplus reicht dafür sogar ein break befehl. ich kenne mich leider nicht in postrgeSQL aus.....
Ilja