求在两表中统计各数的语名

ll_e_mail 2012-05-03 08:23:57
declare @t1 table(
id int,
groupid int,
name varchar(10))
insert into @t1 (id,groupid,name)values(0,0,'A')
insert into @t1 (id,groupid,name)values(1,2,'C')
insert into @t1 (id,groupid,name)values(2,2,'B')
insert into @t1 (id,groupid,name)values(3,3,'R')
insert into @t1 (id,groupid,name)values(4,3,'R')
insert into @t1 (id,groupid,name)values(5,2,'R')
select * from @t1

declare @t2 table(
groupid int,
groupname varchar(10))
insert into @t2(groupid,groupname) values(2,'GroupA')
insert into @t2(groupid,groupname) values(3,'GroupB')
insert into @t2(groupid,groupname) values(4,'GroupV')
select * from @t2

-----所要的结果-----
groupid groupname count
2 GroupA 3
3 GroupB 2
4 GroupV 0
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ll_e_mail 2012-05-03
  • 打赏
  • 举报
回复
搞定
select *,(select count(*) from @t1 where groupid=a.groupid) [count] from @t2 as a
ll_e_mail 2012-05-03
  • 打赏
  • 举报
回复
to fredrickhu 谢了
上面两个语句都不行,主要是各数为0的不好统计。好象用一条语句统计不了。
--小F-- 2012-05-03
  • 打赏
  • 举报
回复
select
a.groupid,b.groupname,isnull(count(1),0) as [count]
from
@t1 a left join @t2 b
on
a.groupid=b.groupid
group by
a.groupid,b.groupname
--小F-- 2012-05-03
  • 打赏
  • 举报
回复
select
a.groupid,b.groupname,isnull(count(1),0) as [count]
from
@t1 a join @t2 b
on
a.groupid=b.groupid
group by
a.groupid,b.groupname

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧