hola nicolaslt:
En tu post no dejas claro cuál es la estructura de tus tablas, ni tampoco pones datos de ejemplo, por lo que no me queda claro qué es lo que necesitas, pero por lo que puedo suponer tienes más o menos lo siguiente:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.06 sec)
-> (7, 'siete'), (10, 'diez');
Query OK, 5 rows affected (0.03 sec)
+--------+-------------+
| id_cat | descripcion |
+--------+-------------+
| 1 | uno |
| 2 | dos |
| 4 | cuatro |
| 7 | siete |
| 10 | diez |
+--------+-------------+
Query OK, 0 rows affected (0.06 sec)
Query OK, 4 rows affected (0.02 sec)
+--------+--------+
| id_sub | id_cat |
+--------+--------+
| 1 | 1 |
| 1 | 7 |
| 2 | 4 |
| 2 | 2 |
+--------+--------+
-> (
-> ) S
on C.id_cat
= S.max_id_cat
+--------+--------+-------------+
| id_sub | id_cat | descripcion |
+--------+--------+-------------+
| 1 | 7 | siete |
| 2 | 4 | cuatro |
+--------+--------+-------------+
Si esto no te sirve sería conveniente que nos dijeras cuál es la estructura completa de tus tablas y que nos pusieras algunos datos de ejemplo, para poder proponerte una consulta más cercana a la realidad.
Saludos
Leo.