我的一个名为articles
的表格中包含id
,category_id
,article_text
并在Category
表中:id
,parent_category
和category_name
。
我想仅根据parent_category
列出article_text
(该类别中的文章的名称和总数)。如果某个类别在parent_category
中为0,则表示其父类别。
我的查询将是这样的
select category_id from articles where article_text like '%somevalue%'
select count(category_name) from category where id=category_id
此查询只是为了清除想要的内容。 请告诉我们如何实现这一目标。 感谢
答案 0 :(得分:0)
使用子查询,它将如下所示:
select count(category_name) from category where id= (select category_id from articles where article_text like '%somevalue%);
答案 1 :(得分:0)
如果我理解正确,您正在寻找一个类别列表,其中包含每个类别中具有指定文本(somevalue)的文章计数。您可以使用子查询执行此操作:
select category_id,category_name,
(select count(*) from articles
where article_text like '%somevalue%'
AND articles.category_id = categories.category_id) as article_count
FROM Categories
答案 2 :(得分:0)
使用LEFT JOIN
和GROUP BY
条款
SELECT category.id,
category.category_name,
COUNT(articles.id) AS articles_total
FROM category
LEFT JOIN articles ON category.id=articles.category_id
WHERE articles.article_text LIKE '%somevalue%'
GROUP BY category.id;