次のクエリをお勧めします:
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)
クエリに追加した最後の条件では、この商品のサイズの数(total_records
)の場合にのみスタイルを返すことができます。 )は、この商品で利用可能なサイズの数と同じです(SUM(qty>0)
)。
qty>0
0(指定されたサイズで製品が利用できない場合)または1(利用可能な場合)のいずれかを返します。したがって、SUM(qty>0)
0からサイズの総数までの整数を返します。