2

我观察到所有产品的数量不等于类别中的产品数量home。这是因为在添加产品时并不总是选择这个最大的父类别。所以有些产品属于home但有些不属于。

虽然我需要为类别home页面显示正确数量的产品,但我正在数据库中查找包含类别但未在ps_productor 中找到它们的列ps_product_lang

sql查询背后的想法是什么,可以批量修改数据库中的适当字段,以便我所有的产品都属于类别home

感谢您通常的帮助。谢谢你。

编辑: 我发现数据库中的表是ps_category_product. 它是唯一的吗?

这张表是这样的:

+-------------+------------+----------+
| id_category | id_product | position |
+-------------+------------+----------+
|          11 |          1 |        1 |
|          11 |          2 |        2 |
|          11 |         10 |        3 |
+-------------+------------+----------+

我可能需要创建 x 行(x= 产品数量)。每行都有 id_category=1 和 id_product= 产品 id 和 position= position++。是最好的方法吗?

关于如何在 sql 中实现它的任何帮助?

再次感谢。

4

1 回答 1

5

Home您可以使用简单的 SQL 查询将每个产品分配到类别:

INSERT IGNORE INTO ps_category_product SELECT 2, id_product, 0 FROM ps_product

2通常是类别的id_category值,是.Home0position

如果您想要唯一position值,那么您需要一个更复杂的查询:

INSERT IGNORE INTO ps_category_product SELECT 2, id_product, ((SELECT MAX(position) FROM ps_category_product WHERE id_category = 2) + (@inc := @inc + 1)) FROM ps_product INNER JOIN (SELECT @inc := 0) AS i
于 2014-06-24T19:24:17.747 回答