日期:2014-05-19  浏览次数:20465 次

请教关于跨表group by的查询
SELECT   TOP   5   ckind,   COUNT(1)   AS   num   FROM   cxiaofei   WHERE   (cuser   =   'jackzhang ')   GROUP   BY   ckind   ORDER   BY   num   DESC


这句sql里     ckind(分类,是int)     在cxiaofei   表里

读出的结果为
ckind                   num
--------|----------
20                         50
--------|----------
8                           40
--------|----------


另一个表b里的字段是   id(int)   name(char)
ckind与b表里的id相对应。。

我想要吧b表里的name字段读出   想要的结果为

ckind                   num             name
--------|----------|----------
20                         50               类别名称一
--------|----------|----------
8                           40               类别名称二
--------|----------|----------

想请教这个语句怎么写。。。。希望大家能看懂我的话。。。




------解决方案--------------------
SELECT TOP 5 A.ckind, COUNT(1) AS num, B.name FROM cxiaofei A Inner Join b On A.ckind =B.id WHERE (A.cuser = 'jackzhang ') GROUP BY A.ckind, B.name ORDER BY num DESC