sql >> Base de Datos >  >> RDS >> Mysql

Obtenga la fila máxima por grupo de una tabla relacionada

Debe crear una subconsulta que obtenga el valor máximo de subStatusID para cada 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