私はいくつかのSQLをいじって、望ましい結果を得ようとしていますが、私が望むものを完全に得ていません。リレーションシップを持つ products テーブルと product_filters テーブルがあり、product_filters テーブルは filter_values テーブルに関連付けられています。私のSQLの例では、結果が出力されますが、トップレベルで製品の数を取得することはできず、2ではなく3が出力されます
これは結果セットの例で、これはカウント の例です
だから私が欲しいのは、2つの製品の正確な数を取得することです
SELECT COUNT(*)
FROM
(SELECT x.product_id,x.department_id,x.title, pi.image_medium
FROM products x
INNER JOIN product_images pi on pi.product_id = x.product_id
WHERE x.department_id = 3
)p
INNER JOIN product_filters pf on pf.product_id = p.product_id
LEFT JOIN filters f on f.filter_id = pf.filter_id
RIGHT JOIN filter_values fv on fv.filter_value_id = pf.filter_value_id
WHERE p.department_id = 3 AND pf.filter_value_id IN(1,3)