Navrhuji následující dotaz:
SELECT COUNT(a.id) AS total_records, a.disregard_inventory, a.qty
FROM artikelstammdaten a
...
GROUP BY a.style
HAVING (SUM(a.qty) != 0 OR (a.disregard_inventory = 1))
AND (SUM(qty>0) = total_records)
Poslední podmínka, kterou jsem přidal do dotazu, umožňuje vrátit styl pouze v případě, že počet velikostí pro tento produkt (total_records
) se rovná počtu dostupných velikostí pro tento produkt (SUM(qty>0)
).qty>0
vrátí buď 0 (pokud produkt není k dispozici v dané velikosti, nebo 1 (pokud je dostupný). Takže SUM(qty>0)
vrátí celé číslo mezi 0 a celkovým počtem velikostí.