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

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

Sie benötigen eine Unterabfrage, um das neueste Datum pro user ID abzurufen .

SELECT  a.*, c.*
FROM users a 
    INNER JOIN payments c
        ON a.id = c.user_ID
    INNER JOIN
    (
        SELECT user_ID, MAX(date) maxDate
        FROM payments
        GROUP BY user_ID
    ) b ON c.user_ID = b.user_ID AND
            c.date = b.maxDate
WHERE a.package = 1