0

我有一个employeebook 表,其中包含员工id 和book id 列(等等)。

Emp_id|Book_id|.......

还有另一个表 HistoryBooks:

Book_id|description|.....

请注意,并非员工拥有的所有书籍都一定是历史书籍

我需要找出拥有最多历史书籍数量的 10 名员工 - 员工 ID 和他们拥有的历史书籍数量。

我正在使用 SQL Server 2008。
感谢帮助

4

2 回答 2

0
select top 10 emp_id,count(distinct book_id)
from employeebook 
where isnull(book_id,0)<>0
group by emp_id

更新查询

select top 10 e.emp_id,count(distinct b.book_id)
from employeebook e
inner join HistoryBooks b on e.book_id=b.book_id
group by emp_id
于 2013-11-06T08:33:07.373 回答
0

为此使用Group By

select top 10 emp_id, count(book_id) as NoOfBookID from EmployeeBook group by emp_id
于 2013-11-06T08:36:34.643 回答