Sql server 关于SQL SERVER左联接和分组依据

Sql server 关于SQL SERVER左联接和分组依据,sql-server,Sql Server,我有两个表,Blog表有一个指向BlogTag表的FK BlogTagID列: BlogTagID BlogTagName 1 JAVA 2 .NET 3 PHP 博客表: BlogID BlogTagID BlogTitle 1 2 test1 2 1 test2 3 2 test3 BlogTag表:

我有两个表,Blog表有一个指向BlogTag表的FK BlogTagID列:

BlogTagID BlogTagName
  1        JAVA        
  2        .NET        
  3        PHP       
博客表:

BlogID BlogTagID BlogTitle
  1       2        test1
  2       1        test2
  3       2        test3
BlogTag表:

BlogTagID BlogTagName
  1        JAVA        
  2        .NET        
  3        PHP       
我想得到结果:

BlogTagName  count
   JAVA         1
   .NET         2
   PHP          0
如何得到这个?非常感谢

试试这段代码

select BlogTagName, count(blogid)
from BlogTag bt
left join Blog b on b.blogtagid = bt.BlogTagID
group by BlogTagName
SQL FIDDLE:

请尝试以下代码

select BlogTagName, count(blogid)
from BlogTag bt
left join Blog b on b.blogtagid = bt.BlogTagID
group by BlogTagName
SQL FIDDLE:

您也可以试试这个

SELECT BlogTagName,COUNT(BlogTagID) FROM Blog b JOIN BlogTagID bt WHERE b.BlogTagID=bt.BlogTagID GROUP BY BlogTagID;
你也可以试试这个

SELECT BlogTagName,COUNT(BlogTagID) FROM Blog b JOIN BlogTagID bt WHERE b.BlogTagID=bt.BlogTagID GROUP BY BlogTagID;

这是因为.net在两个博客中。。因此,它将成为两个不同的行。这是因为.net在两个博客中。。因此,它将成为两个不同的行。