聚合查询涉及多表时的处理方法
我有表map和record 
 map表记录了用户信息,列是id,comment,分别表示某人的id和姓名 
 例如: 
 id         comment 
 1            tom 
 2            jerry 
 3            sam   
 record表记录了用户来访记录,列是number,id,mark,分别表示来访记录的自动编号,来访人的id和来访的内容 
 例如: 
 number   id      mark 
 1001         3         legrijo 
 1002         3         wogfejwg 
 1003         3         wgegw 
 1004         1         wgoeo34 
 1005         2         9614weg 
 1006         1         wgwgeg   
 现在要查询产生这样的结果:     
 id      comment      num 
 3         sam                  3 
 1         tom                  2 
 2         jerry            1     
 num表示某人的来访次数 
 我写的查询语句只能产生id,num这两项,再加入comment就必须用临时表,有没有办法用一个语句产生这个结果?     
 ***********************************************************   
 附自己的语句:     
 create   table   #t   ([id]   int   ,num   int)   
 insert   into   #t   
 select   id   ,count(*)   as   num   from   record 
 group   by   id 
 order   by   num   desc     
 select   #t.id,m.comment,#t.num   from   #t,map   m   where   m.id=#t.id    
 order   by   #t.num   desc     
------解决方案--------------------select count(aa.id) num,a.id,b.comment from record a, map b where a.id=b.id  group by a.id ,b.comment   
 ?
------解决方案--------------------select count(a.id) num,a.id,b.comment from record a, map b where a.id=b.id  group by a.id ,b.comment order by count(aa.id) desc
------解决方案--------------------select a.id ,a.comment,num = (select count(*) from record where id = a.id )from map a 
 order by num desc
------解决方案--------------------Select  
       A.id, 
       A.comment, 
       B.num 
 From  
       map A 
 Inner Join ( 
       Select id,Count(1) As Num From record Group By id) B 
 On A.id=B.id