Detta verkar ge önskat resultat:
SELECT p.*, x.supplier AS supplier, x.price , x.quantity AS quantity
FROM table_prices x
JOIN table_products p ON (p.sku = x.sku OR p.sku2 = x.sku OR p.upc = x.upc OR p.ean = x.ean)
WHERE x.price = (SELECT MIN(x2.price) FROM table_prices x2 WHERE (p.sku = x2.sku OR p.sku2 = x2.sku OR p.upc = x2.upc OR p.ean = x2.ean))
ORDER BY category, price