我还想计算产品的总数,如果一个产品有不同的尺寸,它算作不同的,例如:对于产品 SKU1,我有不同的尺寸,如 S、M、L、XL,所以计数将不是 4 1.
试过这个查询但没有用-
SELECT COUNT(*) total
FROM oc_product p
LEFT
JOIN oc_product_option_value pov
ON pov.product_id = p.product_id
AND pov.option_id in (5,11,12,13)
LEFT
JOIN oc_product_to_store p2s
ON p.product_id = p2s.product_id
WHERE p.status = 1
AND p2s.store_id = 1
它没有给出正确的计数值。谁能帮忙。我是 Opencart 的新手。
oc_product 表:{ productId, name, status}
oc_product_option_value 表:{ productOptionValueId、productId、optionId、optionValueId、数量}
optionId 用于尺寸、重量等类型。 S、M、L、XL 等尺码的 optionValueId id。
最佳答案
oc_product_option_value
不需要LEFT JOIN
,您需要一个子查询。
这对我适用于 OpenCart 3.0.2.0
SELECT COUNT(p.product_id) +
(SELECT COUNT(*) FROM oc_product_option_value pov WHERE pov.option_id = 11) AS total
FROM oc_product p
LEFT
JOIN oc_product_to_store p2s
ON p.product_id = p2s.product_id
WHERE
(SELECT DISTINCT(pov.product_id) FROM oc_product_option_value pov WHERE pov.product_id = p.product_id) IS NULL
AND p.status = 1
AND p2s.store_id = 1
关于php - 计数 Opencart 的总产品,包括选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48276958/