求一多表连接的存储过程

skylovejjp 2010-08-25 10:17:06
一共四个表:用户表(Member) 部门表(Depart) 日志表(LogContent) 评论表(Comment)
下面是表的主要字段:

Member:ID UserCode RealName DepartID

Depart:ID DepartName

LogContent:ID MemID(用户ID) Title

Comment:ID LogID MemID

我需要得到的效果是这样的:
部门 姓名 日志总数 评价总数
技术部 张三 1 1

想用一个存储过程返回这样的列,不知道哪位高人可以指点,小女子在这里多谢了!
...全文
110 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
百年树人 2010-08-25
  • 打赏
  • 举报
回复
create proc sp_test
as
select
b.DepartName as 部门,
a.RealName as 姓名,
isnull(c.cnt1,0) as 日志总数,
isnull(d.cnt2,0) as 评价总数
from Member a
join Depart b on a.DepartID=b.ID
left join
(select MemID,count(1) as cnt1 from LogContent group by MemID) c
on a.ID=c.MemID
left join
(select MemID,count(1) as cnt2 from Comment group by MemID) d
on a.ID=d.MemID


如果日志表和评价表都没有记录的不要显示,把left join 改为 join
skylovejjp 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 josy 的回复:]
如果日志表和评价表都没有记录的要不要显示?
[/Quote]
如果没有记录显示0条,有的话显示条数
百年树人 2010-08-25
  • 打赏
  • 举报
回复
如果日志表和评价表都没有记录的要不要显示?
z812183667 2010-08-25
  • 打赏
  • 举报
回复
沙发!
skylovejjp 2010-08-25
  • 打赏
  • 举报
回复
多谢了,结贴去。

34,838

社区成员

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

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