Bueno, ,si hiciste un Copy+Paste de lo que tienes, has pegado las cláusulas a las sentencias, es decir, no dejas espacio entre "stock" y "FROM", por ejemplo.
Prueba:
Código SQL:
Ver originalSELECT ID, id_proveedor, producto, precio, stock
FROM
(
(SELECT
ID,
MIN(PRECIO) PRE
FROM TARIFAS
WHERE STOCK > 0
GROUP BY ID
)
UNION
(SELECT
TA1.ID,
MIN(TA1.PRECIO) PRE
FROM
TARIFAS TA1
EXCEPTION JOIN TARIFAS TA2 ON TA1.ID = TA2.ID
WHERE TA2.STOCK > 0
GROUP BY ID
)
) T1
INNER JOIN
TARIFAS TAR ONT1.ID = TAR.ID AND T1.PRE = TAR.PRECIO
Además, poner "TA1.MIN(PRECIO)" se interpretará como que MIN es campo de TA1, lo que es un error.