SQL左连接——查询每个用户各操作类型的文章数量

现有基本表tb_News如下,要实现查询每个用户各种操作类型的文章数量,可以借助表连接left join实现。而且在查询结果中如果字段为NULL,将其设置为0。

表tb_News

实现语句:

select List.UserID,ISNULL(bianyi,0) as '编译',ISNULL(zhuanzai,0) as '转载',ISNULL(bianji,0) as '编辑' 
from (select UserID from dbo.tb_News group by UserID) List
left join (select UserID,count(NewsType)as bianyi from tb_News n where n.UserID=UserID and NewsType='编译' group by UserID) T1 on List.UserID=T1.UserID
left join (select UserID,count(NewsType)as zhuanzai from tb_News n where n.UserID=UserID and NewsType='转载' group by UserID) T2 on List.UserID=T2.UserID
left join (select UserID,count(NewsType)as bianji from tb_News n where n.UserID=UserID and NewsType='编辑' group by UserID) T3 on List.UserID=T3.UserID

查询结果:
语句执行结果语句执行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值