Magento SQL 在 multishops 中获取具有正确活动类别的产品 sku
Magento SQL get product sku with the right active category in multishops
我正在尝试获取网站上显示的带有该产品类别的产品 sku。
输出:
+-------------+------------+
| sku | category_n |
+-------------+------------+
| 855202 | test1 |
| 87972_k | test2 |
| 887997 | test1 |
+-------------+------------+
我看过这些表格:
catalog_category_product
catalog_product_entity
catalog_category_entity
catalog_category_entity_varchar
查询只返回了一个 sku 的大量行,我得到了大约 100 条记录。我看不到哪个类别是当前活跃的正确类别..
SELECT
*
FROM
"catalog_category_product" as ccp
JOIN
"catalog_product_entity" as cpe ON "cpe.entity_id" = "ccp.product_id"
JOIN
"catalog_category_entity" as cat ON "cat.entity_id" = "ccp.category_id"
JOIN
"catalog_category_entity_varchar" as cv on cat.entity_id = cv."entity_id"
假设您使用的是 mysql 数据库
尝试不要在对象名称周围使用引号(table 和列名称)
SELECT *
FROM catalog_category_product as ccp
JOIN catalog_product_entity as cpe ON cpe.entity_id = ccp.product_id
JOIN catalog_category_entity as cat ON cat.entity_id = ccp.product_id
JOIN catalog_category_entity_varchar as cv on cat.entity_id = cv.entity_id
您可以尝试使用左连接
SELECT
*
FROM
"catalog_category_product" as ccp
Left JOIN
"catalog_product_entity" as cpe ON "cpe.entity_id" = "ccp.product_id"
Left JOIN
"catalog_category_entity" as cat ON "cat.entity_id" = "ccp.category_id"
Left JOIN
"catalog_category_entity_varchar" as cv on cat.entity_id = cv."entity_id"
我正在尝试获取网站上显示的带有该产品类别的产品 sku。
输出:
+-------------+------------+
| sku | category_n |
+-------------+------------+
| 855202 | test1 |
| 87972_k | test2 |
| 887997 | test1 |
+-------------+------------+
我看过这些表格:
catalog_category_product
catalog_product_entity
catalog_category_entity
catalog_category_entity_varchar
查询只返回了一个 sku 的大量行,我得到了大约 100 条记录。我看不到哪个类别是当前活跃的正确类别..
SELECT
*
FROM
"catalog_category_product" as ccp
JOIN
"catalog_product_entity" as cpe ON "cpe.entity_id" = "ccp.product_id"
JOIN
"catalog_category_entity" as cat ON "cat.entity_id" = "ccp.category_id"
JOIN
"catalog_category_entity_varchar" as cv on cat.entity_id = cv."entity_id"
假设您使用的是 mysql 数据库 尝试不要在对象名称周围使用引号(table 和列名称)
SELECT *
FROM catalog_category_product as ccp
JOIN catalog_product_entity as cpe ON cpe.entity_id = ccp.product_id
JOIN catalog_category_entity as cat ON cat.entity_id = ccp.product_id
JOIN catalog_category_entity_varchar as cv on cat.entity_id = cv.entity_id
您可以尝试使用左连接
SELECT
*
FROM
"catalog_category_product" as ccp
Left JOIN
"catalog_product_entity" as cpe ON "cpe.entity_id" = "ccp.product_id"
Left JOIN
"catalog_category_entity" as cat ON "cat.entity_id" = "ccp.category_id"
Left JOIN
"catalog_category_entity_varchar" as cv on cat.entity_id = cv."entity_id"