2016-08-22 4 views
0

gefunden habe ich eine Abfrage wiemySQL Benutzer auswählen, ob andere Benutzer

SELECT 
    pf.id, pf.forwhom, pf.body, 
    u.firstname, u.lastname, u.email 

FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id 

WHERE pf.id=100; 

Und das gibt das Feed-Element pf, die ich als auch die Benutzer mag, die das Element geschrieben.

Was ich auch brauchen, ist der Benutzer Name, der zu diesem Feed-Element reagiert und ich weiß, ihre ID, nennen wir es 2.

dies nicht funktioniert, aber es könnte erklären, was ich brauche.

SELECT 
    pf.id, pf.forwhom, pf.body, 
    u.firstname, u.lastname, u.email, 
    ru.firstname, ru.lastname 
FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id 
    SELECT FROM users ru WHERE id=2 
WHERE pf.id=834; 

Wie gehe ich vor?

+0

Sie tun eine zweite Join genau wie die vorherige für Benutzer –

Antwort

1

Sie benötigen eine zusätzliches JOIN:

SELECT 
    pf.id, pf.forwhom, pf.body, 
    u.firstname, u.lastname, u.email, 
    u2.firstname, u2.lastname, u2.email 

FROM prayerfeed pf 
    JOIN users u ON pf.user_id=u.id 

    JOIN users u2 ON u2.id = 2 

WHERE pf.id=100; 

Sie einfach die ON Klausel verwenden kann, um den Benutzer zu filtern, die auf das Feed-Element reagiert, die bereits bekannten id-Wert.

+0

Die 2. Join-Bedingung macht nicht zu viel Sinn ... – Shadow

+0

Yup das ist es. Ich könnte schwören, dass ich es versucht habe. So einfach, aber jetzt weiß ich nicht, was ich versucht habe und falsch verstanden habe. Dank –

+0

@Shadow sehen Sie einen besseren Weg? –

Verwandte Themen