日期:2014-05-17  浏览次数:20917 次

求一SQL联合查询语句
表Tproduct如下:
id     cid       proname
1         1             产品1
2         1             产品2
3         2             产品3
4         2             产品4
5         2             产品5
6         3             产品6

表Tclass如下:
id     classname
1         类别1
2         类别2
3         类别3

Tclass.id   FK   Tproduct.cid
求SQL查询结果如下:
Tclass.id       Tclass.classname     此类别产品总数
1                                 类别1                                   2
1                                 类别2                                   3
1                                 类别3                                   1                
如果产品表无数据,同样也可以查询出如下结果:  
Tclass.id       Tclass.classname     此类别产品总数
1                                 类别1                                   0
1                                 类别2                                   0
1                                 类别3                                   0

------解决方案--------------------
SELECT Tclass.id, Tclass.classname, COUNT(Tproduct.cid) AS Expr1
FROM Tproduct RIGHT OUTER JOIN
Tclass ON Tproduct.cid = Tclass.id
GROUP BY Tclass.id, Tclass.classname, Tproduct.cid
ORDER BY Tclass.id