问个sql基础问题? 有三个表User{Id,Name} Log{Id,UserId,content} Photo{Id,UserId,URL}

log表和photo表的UserId都是引用User表的Id怎么查询出:UserId,UserName,LogCount,PhotoCount?即用户Id,用户名,日志总... log表和photo表的UserId都是引用User表的Id

怎么查询出:
UserId ,UserName,LogCount,PhotoCount ?即
用户Id,用户名,日志总数,相片总数
展开
 我来答
王海超521
2012-03-09 · TA获得超过852个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:381万
展开全部
select Id,Name,b.LogCount ,c.PhotoCount
from User a,
(select UserId,count(UserId) as LogCount from Log group by UserId) b,
(select UserId,count(UserId) as PhotoCount from Photo group by UserId) c
where a.Id=b.UserId(+) and a.Id=c.UserId(+)
追问
问个问题,把上面查出的结果按n条为一页分页,查出第m页怎么查?
追答
select Id,Name,b.LogCount ,c.PhotoCount  from
(select rownum as num,Id,Name,b.LogCount ,c.PhotoCount
from User a,
(select UserId,count(UserId) as LogCount from Log group by UserId) b,
(select UserId,count(UserId) as PhotoCount from Photo group by UserId) c
where a.Id=b.UserId(+) and a.Id=c.UserId(+) ) t
where t.num between n*(m-1)+1 and n*m
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x403879785
2012-03-09 · TA获得超过3839个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1175万
展开全部
select a.Id,a.Name,Count(b.id),Count(c.id)
from user a,log b,photo c
where a.id=b.userid and a.id=c.userid
group by a.id,a.name
更多追问追答
追问
我测试了一下,你这个返回了一行数据,而且CountPhoto,countLog都不知道是什么怪数据
追答
select a.Id,a.Name,Count(b.id),Count(c.id)
from user a,log b,photo c,user d
where a.id=b.userid and d.id=c.userid
group by a.id,a.name

这个就对了,你测试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晓倩886
2012-03-09
知道答主
回答量:92
采纳率:0%
帮助的人:24.7万
展开全部
select u.id,u.name,count(l.userid),count(p.userid) from user as u join log as l on u.id=l.userid join photo as p on u.id=p.userid group by l.userid,p.userid
追问
你的应该正确!
select a.Id,a.UserName,a.ImageFolderCount,count(b.Id) as LogCount from
(select UserT.Id,UserT.UserName,count(ImageFolder.Id) as ImageFolderCount from UserT
left join ImageFolder on ImageFolder.UserId=UserT.Id group by UserT.Id,UserT.UserName )as a
left join LogT as b on a.Id=b.UserId group by a.Id,a.UserName,a.ImageFolderCount
我也拼出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式