Tu auras besoin d'utiliser la représentation intervalaire. Il te faudra développer tes catégories sous forme d'arbres (les catégories représentant des branches). C'est assez agressif au départ mais on s'y fait :)
C'est le plus performant et le plus efficace si tu veux pouvoir gérer facilement plus de 2 sous niveaux ;)
http://sqlpro.developpez.com/cours/arborescence/
ou même
http://www.grafikart.fr/tutoriels/mysql/intervallaire-159 ;)