计算字段数

时间:2012-08-24 19:28:17

标签: sql cross-reference

我有三张桌子:

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

我希望得到这样的结果:NameTag,Count(属于该标签的文章)

我尝试了以下内容:

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

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

2 个答案:

答案 0 :(得分:4)

SELECT t.NameTag, COUNT(*)
    FROM ArtiTag at
        INNER JOIN Tag t
            ON at.idTag = t.idTag
    GROUP BY t.NameTag;

答案 1 :(得分: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篇文章的标签。