0
SELECT COUNT(DISTINCT `product_id`) AS `total`
FROM(
SELECT DISTINCT `p`.`product_id`
FROM oc_category_path cp
LEFT JOIN oc_product_to_category p2c ON (cp.category_id = p2c.category_id)
LEFT JOIN oc_product_filter pf ON (p2c.product_id = pf.product_id)
LEFT JOIN oc_product p ON (pf.product_id = p.product_id)
LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id)
LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id)
INNER JOIN `oc_product_filter` AS `pf` ON `p2c`.`product_id` = `pf`.`product_id`
WHERE IF(`p`.`quantity` > 0, 7, `p`.`stock_status_id`) IN(7)
AND `p`.`date_available` <= NOW()
AND `p`.`status` = '1'
AND `cp`.`path_id` = '452'
AND `pf`.`filter_id` IN(241)
AND pd.language_id = '1'
AND p.status = '1'
AND p.date_available <= NOW()
AND p2s.store_id = '0'
AND cp.path_id = '452'
AND pf.filter_id IN (241)
) AS `tmp`
Come on。あなたが書いたことを注意深く見てください。また、書かれているように、これらのすべてが内部結合としてレンダリングされることに注意してください。 – Strawberry
これはopensource code opencartのもので、これは私が書いたものではない標準的なコードです。どのテーブルが重複しているかを見つける方法はありますか? – shobahari
このような標準コードにはこのような目障りなエラーがあります。 INNER JOINを誰が作成しましたか? – Strawberry