MySQL INNER JOIN wählt nur eine Zeile aus der zweiten Tabelle aus

Ich habe einusers Tisch und einpayments Tabelle, für jeden Benutzer, von denen diejenigen Zahlungen haben, können mehrere zugeordnete Zahlungen in derpayments Tabelle. Ich möchte alle Benutzer auswählen, die Zahlungen haben, aber nur ihre letzte Zahlung auswählen. Ich probiere dieses SQL aus, aber ich habe noch nie geschachtelte SQL-Anweisungen ausprobiert, also möchte ich wissen, was ich falsch mache. Schätzen Sie die Hilfe

SELECT u.* 
FROM users AS u
    INNER JOIN (
        SELECT p.*
        FROM payments AS p
        ORDER BY date DESC
        LIMIT 1
    )
    ON p.user_id = u.id
WHERE u.package = 1

Antworten auf die Frage(8)

Ihre Antwort auf die Frage