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"