Hopsel: (MSSQL 2005) Mehrere Zeilen als Array oder Liste zurückgeben

Beitrag lesen

Hi alle!

Ich erkläre mein Problem am besten an einem Beispiel.
Tabelle User (id, name)
Tabelle Gruppe (id, name)
Tabelle User_Gruppe (id, user_id, gruppe_id)

Mit

SELECT U.name  
FROM User U

bekomme ich alle User.

Mit

SELECT G.name  
FROM Gruppe G  
  JOIN User_Gruppe UG  
  ON  G.id=UG.gruppe_id AND  
      UG.user_id=BESTIMME_ID

bekomme ich alle Gruppen, denen ein bestimmter User angehört.

Mit

SELECT U.id,G.id  
FROM User U  
  LEFT JOIN Gruppe G  
    INNER JOIN User_Gruppe UG  
    ON G.id=UG.gruppe_id  
    ON UG.user_id=U.id

bekomme ich für jeden User so viele Zeilen, wie er Gruppen angehört, mindestens jedoch eine Zeile (LEFT OUTER JOIN).

Für meinen Zweck brauche ich für jeden User genau eine Zeile.

Schön wäre es, wenn ich für jeden User sowas wie eine Liste oder ein Array hätte, indem alle Gruppen aufgelistet sind, denen der User angehört.
Hat jemand eine Idee, wie das realisiert werden kann?

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)