Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obter linha máxima por grupo de uma tabela relacionada


Você precisa criar uma subconsulta que obtenha o 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