Vous souhaitez probablement tirer parti du GROUP BY
clause au lieu d'aller avec DISTINCT
là, c'est-à-dire :
SELECT productId, Size,
SUM(CASE WHEN storeID IN ('BCN', 'BCN2') THEN stock ELSE 0 END) AS stockBCN,
SUM(CASE WHEN storeID = 'MAD' THEN stock ELSE 0 END) AS stockMAD
FROM stocks
GROUP BY productId, Size