1
下一個給定類別的兒童類的項目數的計數
說我們有這個表獲取在MySQL
t1
--------------------------------
category_id | name | lft | rgt
--------------------------------
1 cat1 1 8
2 cat2 2 3
3 cat3 4 7
4 cat4 5 6
t2
-------------------------------
item_id | category_id
--------------------------------
1 1
2 2
3 3
4 4
是否有MySQL的一種方式來獲得項目的類別有數量(包括那些屬於其子女的物品)?這樣的事情...
-------------------------------
category_id | item_count
--------------------------------
1 4
2 1
3 2
4 1
我無法連接獲取category_ids的查詢和獲取子類別數的查詢。
SELECT category_id FROM t1 WHERE <some conditions here>
SELECT
COUNT(*) AS item_count,
category_id
FROM
t2
WHERE
t2.category_id IN
(
SELECT
node.category_id
FROM
t1 AS node,
t1 AS parent
WHERE
node.lft BETWEEN parent.lft AND parent.rgt
AND parent.category_id = 5 <---- How do I pass the category ids of the first query
here?
)
我的查詢返回奇怪的結果 - 不應該category_id 2有一個itemcount爲2? – Pimgd 2010-12-15 10:32:42
更新的解決方案 - 希望它的工作原理! – Pimgd 2010-12-15 10:42:48