a ver si he entendido. Imagino que tienes otra tabla productoscompra con los campo productoID y cantidad, porque en la tabla productos no tienes cantidad alguna que sirva de referencia
Código MySQL:
Ver originalSELECT t1.idproductoscompra
, t1.precio
, t1.cantidad
, t1.cantref
SELECT pc.idproductoscompra
, p.precio
, pc.cantidad
, p.cantidad cantref
FROM `productoscompra` pc
WHERE p.cantidad
<= pc.cantidad
)t1
El truco consiste en relacionar con la tabla de precios haciendo coincidir el productoID y buscando que la cantidad del precio sea menor o igual que la cantidad de la compra, ordeno por la cantidad del precio de manera descendente para agrupar luego los valores de esa subconsulta según el idproductoscompra, quedando el valor más bajo de la cantidad del precio superior o igual a la cantidad de producto comprado.
Haz comprobaciones.