PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IDs mit gleichen Werten einer anderen Spalte finden


dwirt
07.07.2009, 19:42:19
OK ... folgende Aufgabenstellung:

Ich habe eine n:n Relationstabelle zwischen Usern und Gruppen:

uid gid
1 ... 1
3 ... 1
1 ... 2
2 ... 2
2 ... 3
4 ... 3

Ich möchte jetzt alle User-IDs finden, die mit dem User X in denselben Gruppen sind ("Freunde").

Wenn ich also selbst uid 2 bin, bin ich in den Gruppen 2 und 3 und brauche als Ergebnis die anderen uids, also 1 und 4 (idealerweise ohne die uid 2)

Ist wahrscheinlich höchst trivial und ich steh nur völligst auf dem Schlauch ...

THX
Dennis

dwirt
07.07.2009, 20:40:39
Ok, mal ein bisschen weiter gedacht.
Von der Logik her sollte es eigentlich so gehen:

SELECT uid FROM table WHERE gid IN (SELECT gid FROM table WHERE uid=1)

Das bräuchte ich jetzt noch in "richtig" ...

dwirt
07.07.2009, 21:21:28
OK, hat sich erledigt:

SELECT DISTINCT b.userid FROM table AS a INNER JOIN table AS b WHERE a.groupid=b.groupid AND a.userid=1 AND b.userid<>1;