passe tes formats en ligne, car là tu va te lancer dans N unions (avec N = le nombre de formats possibles) ce qui sera catastrophique en termes de performances et de maintenance.
donc change la structure en :
quantite, format, prix
et là t'as juste à faire une requête relativement simple filtrant sur le format, et en faisant un t1.quantite = (select max(t2.quantite) where t2.quantite < maquantite and t2.format = t1.format)