Leo,
veo un problema a la propuesta condicional, aunque no sé si se dará el caso. Si ambos precios ,Precio1 y Precio2 son 0, ese registro pasaría a ser el primero de la lista y rompería el orden esperado que es, primero los que no son cero y luego los cero
Y si quieres añadir un segundo filtro para que en ese caso ordene por Precio2