三表联查怎么样进行积分统计,高手指教,想了很多办法都搞不定

lshfong 2008-06-13 01:05:56
三表联查怎么样进行积分统计,高手指教[已更新] 部门表 栏目表
ID NAME     ID FID LMNAME  
1 部门一     1 部门ID 栏目一  
2 部门二     2 部门ID 栏目二  
3 部门三     3 部门ID 栏目三  
4 部门四     4 部门ID 栏目四  
5 部门五     5 部门ID 栏目五  
信息表
ID FID TITLE 积分
1 栏目 信息 2
2 栏目 信息 2
3 栏目 信息 5
4 栏目 信息 4
5 栏目 信息 3

积分统计[想生成的表]
部门名称 栏目一 栏目二 栏目三 栏目四 积分汇总
部门一 2 2 2 2 8
部门二 3 5 1 1 10
部门三 1 1 1 1 4
部门四 1 1 1 1 4
部门五 2 2 2 2 8
           


====================
每个部门都有自己的栏目,我现在想的是怎么样生成每个部门的栏目积分并统计,最好是能在mysql中的视图中生成,高手指点一下,不胜感激!
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2008-06-13
  • 打赏
  • 举报
回复
select a.NAME,sum(c.积分) as 积分汇总 ,
sum(if(b.LMNAME='栏目一',c.积分,0)) as 栏目一,
sum(if(b.LMNAME='栏目二',c.积分,0)) as 栏目二 ,
sum(if(b.LMNAME='栏目三',c.积分,0)) as 栏目三,
sum(if(b.LMNAME='栏目四',c.积分,0)) as 栏目四
from 部门表 a
left join 栏目表 b on a.id=b.fid
left join 信息表 c on b.id=c.fid
group by a.NAME
也可以用CASE WHEN
lshfong 2008-06-13
  • 打赏
  • 举报
回复
信息表的fid关联栏目表的id,栏目表的fid关联部门的部门表的id
WWWWA 2008-06-13
  • 打赏
  • 举报
回复
没有看出表间关系,参考:
sum(case when)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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