0

好的,伙计们说我目前正在做这个查询:

SELECT `category_id`, `category_name` 
FROM `database_categorys` 
ORDER BY `category_name` ASC

现在我想计算一个名为“database_items”的表中的所有行,其中项目表的类别 ID 等于当前行的类别 ID。

我猜是某种连接或嵌套查询,但我无法用正确的语法来做这件事。

这样在呼应出来时我可以这样做:

<category name> <total items in category number>
4

2 回答 2

6
SELECT c.`category_id`, c.`category_name`, count(i.`category_id`)
FROM `database_categorys` c
LEFT OUTER JOIN `database_items` i on c.`category_id` = i.`category_id`
GROUP BY c.`category_id`, c.`category_name`
ORDER BY c.`category_name`
于 2012-11-02T20:29:02.657 回答
0

我会使用这样的子查询:

SELECT 
    `category_id`, `category_name`,
    (SELECT count(1) from database_items i where i.category_id = c.category_id)
FROM `database_categorys` c 
ORDER BY `category_name` ASC
于 2012-11-02T20:30:10.057 回答