2

我有三张桌子:

  • 文章(idArticle,NameArt)
  • 标签(idTag, NameTag)
  • ArtiTag(idArticle,idTag)

我想要这样的结果:NameTag,Count(属于该标签的文章)

我尝试了以下方法:

SELECT Tag.NameTag , COUNT(DISTINCT(idArticle))
  FROM ArtiTag, ArtiTag

但它总是只返回一行,即使我有很多标签和很多相关文章

4

2 回答 2

4
SELECT t.NameTag, COUNT(*)
    FROM ArtiTag at
        INNER JOIN Tag t
            ON at.idTag = t.idTag
    GROUP BY t.NameTag;
于 2012-08-24T19:33:24.550 回答
3
Select T.idTag, Max(nametag), count(artitag.idArticle) from Tag t 
  left join ArtiTag on t.idTag=ArtiTag.idTag
    Group by t.idTag

此查询输出所有标签,包括包含 0 篇文章的标签。

于 2012-08-24T19:41:04.523 回答