Ich habe eine user
Tabelle und eine complaint
Tabelle.Beitritt der gleichen Tabelle zweimal auf verschiedenen Spalten
Die complaint
Tabelle hat die folgende Struktur:
[opened_by] [complaint_text] [closed_by]
(user_id) (text) (user_id)
(user_id) (text) (user_id)
(user_id) (text) (user_id)
Alle Benutzer, sowohl die complainers und Beschwerde-Resolvern in der Tabelle befinden user
.
Wie schreibe ich eine Abfrage, um den Benutzernamen für beide Spalten anzuzeigen?
Das gibt mir ein:
SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by
aber ich weiß nicht, wie es zu schreiben, so dass beide _by
Spalten zeigen Benutzernamen anstatt IDs.
Ich bevorzuge dies zu Unterabfragen wo möglich, leicht lesbar und effizient. –
Wäre dies nicht ein kartesisches Produkt von 'reklamation' x' A' x 'B'? – NeverEndingQueue
@NeverEndingQueue - nein es wird nicht, weil jede der JOINs eine Bedingung haben – potatopeelings