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

Rufen Sie die maximale Zeile pro Gruppe aus einer verwandten Tabelle ab

Sie müssen eine Unterabfrage erstellen, die den maximalen Wert von subStatusID erhält für jede prodID .

SELECT  a.*,     -- select only columns that you want to show
        c.*,     -- asterisks means all columns
        d.*
FROM    table1 a
        INNER JOIN
        (
            SELECT prodID, max(subStatusID) maxID
            FROM table2
            GROUP BY prodID
        ) b ON a.prodID = b.prodID 
        INNER JOIN  table2 c
            ON b.prodID = c.prodID AND
                b.maxID = c.subStatusID
        INNER JOIN table3 d
            ON c.subStatusID = d.subStatusID