Wie bekomme ich die Namen eines Benutzers?
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, ...
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)