首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

数据统计有关问题

2012-02-03 
数据统计问题!现有3个表表1“用户类别表”用户类别代码用户描述YHClass-001教授YHClass-002副教授YHClass-00

数据统计问题!
现有3个表
表1   “用户类别表”       用户类别代码               用户描述
                                            YHClass-001                   教授
                                            YHClass-002                   副教授
                                            YHClass-003                   讲师

表2       “用户表”             用户代码         用户名       用户类别
                                            YH-001               李俊             教授
                                            YH-002               王孙             教授
                                            YH-003               winder         讲师
                                            YH-004                 Tom             讲师

表3         “借书表”           书号                   借书者用户代码  
                                              B-001                   YH-003
                                              B-002                   YH-001
                                              B-003                   YH-002

现在如何统计出:用户类别代码为   YHClass-001(教授)的借书用户数和借阅的图书总数  
即:YHYHClass-001的借书用户数=2借阅的图书总数=2
        YHYHClass-002的借书用户数=0借阅的图书总数=0
        YHYHClass-003的借书用户数=1借阅的图书总数=1




[解决办法]
简单解释一下结果是怎样得出的
[解决办法]
SELECT A2.UserID,Name,IIF(ISNULL(用户数),0,用户数),IIF(ISNULL(借书用户数),0,借书用户数),IIF(ISNULL(借阅的图书总数),0,借阅的图书总数) FROM Groupb A2 LEFT JOIN (SELECT A1.IDCard, 用户数, 借书用户数,借阅的图书总数 FROM ((SELECT [IDCard], COUNT(*) AS 用户数 FROM Userb GROUP BY [IDCard]) AS A1 LEFT JOIN (SELECT B.IDCard,COUNT(*) AS 借阅的图书总数 FROM Owner A INNER JOIN Userb B ON A.UseID=B.UserID GROUP BY IDCard) AS B1 ON A1.IDCard=B1.IDCard) LEFT JOIN (SELECT [IDCard], COUNT(*) AS 借书用户数 FROM Userb AS A INNER JOIN (SELECT UseID FROM Owner GROUP BY UseID) AS B ON A.UserID=B.UseID GROUP BY IDCard) D1 ON A1.IDCard=D1.IDCard) E ON A2.Name=E.IDCard

热点排行