Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL-Join-Spalte mit unbekannter Klausel im nächsten Join

Probieren Sie es so aus, ich habe kein Schema, um es selbst zu testen, aber ich habe das Gefühl, dass es funktionieren sollte (oder so ähnlich)

SELECT * FROM questions, connections
LEFT JOIN answers ON (questions.id = answers.id AND
                     connections.username2 = answers.username)
where connections.username1 = 'mikha';

schließlich so

SELECT * FROM questions
LEFT JOIN answers ON (questions.id = answers.id)
LEFT JOIN connections ON (connections.username2 = answers.username)
where connections.username1 = 'mikha';

BEARBEITEN:Ich habe das in der Dokumentation gefunden

Für Ihren Fall kann es also

sein
SELECT * FROM questions  
LEFT JOIN connections
LEFT JOIN answers ON (connections.username1 = 'mikha' AND questions.id = answers.id AND
                 connections.username2 = answers.username)