ont un syndicat comme celui-ci:SQL - filtrer les résultats d'une union
(SELECT prod.id, price, timestamp
FROM products prod JOIN prices price ON prod.id = price.productid
WHERE price > 0
GROUP BY prod.id, DATE(timestamp))
UNION
(SELECT prod.id, price, timestamp
FROM products prod JOIN prices price ON prod.id = price.productid
WHERE price = 0
GROUP BY prod.id, DATE(timestamp))
Le problème:
S'il y a des dates où un produit est disponible avec le prix = 0 et prix> 0, nous obtenir deux lignes dans le résultat de l'union.
Ce que nous voulons est pour le prix = 0 résultat à ignorer s'il y a un prix> 0 résultat pour le même produit à la même date.
Quelqu'un qui peut partager un truc pour résoudre ce problème?