读书人

Group by 后子查询的有关问题

发布时间: 2012-09-12 09:21:30 作者: rapoo

Group by 后子查询的问题
表A:


BookID 书名 分类
1 张三 E
2 李四 B
3 王五 G
4 赵六 F


表B:

BookID ReadName Time
1 12001 -----
2 12011 -----
1 12101 -----
3 12010 -----
1 12100 -----
4 12100 -----
2 12100 -----
1 12100 -----


我先用
SELECT BookId, COUNT(*) AS num FROM 表B GROUP BY BookID 获取到表B中BookId出现的次数

现在想将上面的查询结果和表A关联,就是获取表A中对应的书名和分类怎么办?子查询好像无法把 num 的结果带过去...求解 谢谢!

[解决办法]

SQL code
SELECT A.BookId,A,书名,A.分类,COUNT(*) AS num FROM 表B B,表A A WHERE A.BookId = B.BookIdGROUP BY A.BookId,A,书名,A.分类
[解决办法]
SELECT A.书名,B.*
FROM A,(SELECT BookId, COUNT(*) AS num FROM 表B GROUP BY BookID) B
WHERE A.BookId=B.BookId
这是子查询的一种

读书人网 >SQL Server

热点推荐