Jeg foreslår følgende forespørgsel:
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)
Den sidste betingelse, jeg tilføjede til forespørgslen, gør det kun muligt at returnere en stil, hvis antallet af størrelser for dette produkt (total_records
) er lig med antallet af tilgængelige størrelser for dette produkt (SUM(qty>0)
).qty>0
vil enten returnere 0 (når produktet ikke er tilgængeligt i den givne størrelse, eller 1 (når det er tilgængeligt). Så SUM(qty>0)
returnerer et helt tal mellem 0 og det samlede antal størrelser.