Te sfatuiesc sa incerci selectul pe un tabel real cu date, o sa vezi ca nu iti intoarce ultimele produse adaugate .

Selectul cu MAX() face ce trebuie, pe testate

In loc de produs cartezian exista LEFT/RIGHT JOIN.

Nu conteaza numarul de categorii, omul vrea ultimele 10 produse adaugate, dar sa fie din categorii distincte.