Frage

Ich habe eine Tabelle für Benutzer und Freunde. Der Benutzer mit ID 1 hat 4 Freunde (mit IDS 2,3,4,13). Ich möchte Namen und Nachnamen von Benutzern 2,3,4 und 13 erhalten. Abfragen für jeden Freund. Ich habe nicht verstanden, wie und was man links, Gelenke, rechte Gelenke, einfache Gelenke, Arsch, Ons, ...

enter image description here

War es hilfreich?

Lösung

Wenn Sie die Namen der Freunde für einen Benutzer erhalten möchten, versuchen Sie vielleicht so etwas wie SO:

SELECT u.firstname, u.surname 
FROM friend f, user u
WHERE (f.Person1 = 1 OR f.Person2 = 1)

Dies sollte eine Liste mit Namen in Ihrer Benutzertabelle (vorausgesetzt, das haben Sie Ihre Freunde in der Benutzertabelle benannt), die mit UserID 1 befreundet sind

Ich vermute, Ihr Freundentisch enthält die ausländischen Schlüssel -IDs der Freunde, die die Partnerschaft ausmachen?

Andere Tipps

Ich gehe davon aus, dass die Tabelle von Friends über ein User_id -Feld verfügt, das dem ID -Feld in der Benutzertabelle entspricht.

Select name, surname from users
where id in 
(select user_id from friends where id=1)

Auf diese Weise können Sie die Benutzer -ID einfach an den Ort anschließen, an dem sich '1' befindet, und Sie erhalten alle jeweiligen Freunde. Wenn Sie beispielsweise den Namen und den Nachnamen aller Freunde der Benutzer -ID 5740 verwenden möchten:

Select name, surname from users
where id in 
(select user_id from friends where id=5740)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top