我正在使用嵌套集模型处理类别。我的数据库设计是这样的
- 表 1:类别(id、lft、rgt、count1、count2)
- 表 2:Items1 (id, catid, .....) -- catid 是类别表中的 id
- 表 3:Items2 (id, item1_id, ....) -- item1_id 是 Items 1 表中的 id
现在由于 Items1 有 catid 列,我可以使用下面的 SQL 使用嵌套集模型轻松计算树下的项目数:
SELECT
parent.id, COUNT(items.id) as item_count
FROM
categories AS node ,
categories AS parent,
items1 AS items
WHERE
node.nleft BETWEEN parent.nleft AND parent.nright
AND node.id = items.catid
AND items.published = 1
GROUP BY
parent.id
ORDER BY
node.nleft;
并从该 SQL 更新每个类别。
现在有人可以帮助我如何将树中每个类别的项目数从 items2 表更新到 count2 列?
感谢你的帮助。