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

求一句复杂的sql语句
已有
表   Class   含字段   Id(自动编号),   Class_name(类别名)
表   Class2   含字段   Id(自动编号),   Class_name_2(二级类别名),   Class_id(所属大类的id)
表   User_info   含字段   Id(自动编号),   User_name(用户名)
表   Creativity   含字段   Id(自动编号),   user_id(作者的ID),   Creativity_Title(文章标题),   Creativity_Class(所属大类ID),   Creativity_Class_2(所属小类id)
表   review(回复)   含字段Id(自动编号),   Reviewid(文章的ID号)

求一句sql   取出大类名   小类名   标题   作者名   和回复次数

使最后能写出
如下的格式
[大类名-小类名]文章标题   文章作者   回复次数

请写出完整的sql供我学习

极度感谢!!


------解决方案--------------------
表 Class 含字段 Id(自动编号), Class_name(类别名)
表 Class2 含字段 Id(自动编号), Class_name_2(二级类别名), Class_id(所属大类的id)
表 User_info 含字段 Id(自动编号), User_name(用户名)
表 Creativity 含字段 Id(自动编号), user_id(作者的ID), Creativity_Title(文章标题), Creativity_Class(所属大类ID), Creativity_Class_2(所属小类id)
表 review(回复) 含字段Id(自动编号), Reviewid(文章的ID号)

求一句sql 取出大类名 小类名 标题 作者名 和回复次数

select c.Class_name,d.Class_name_2,a.Creativity_Title,b.User_name,(select count(Id) from review where Reviewid=a.Id) as countNum from Creativity as a,User_info as b,class as c,class2 as d where a.user_id=b.id and a.Creativity_Class=c.Id and a.Creativity_Class_2=d.Id

select a.Id,max(c.Class_name),(max(d.Class_name_2),max(a.Creativity_Title),max(b.User_name),count(e.Id) as countNum from Creativity as a,User_info as b,class as c,class2 as d,review as e where a.user_id=b.id and a.Creativity_Class=c.Id and a.Creativity_Class_2=d.Id and a.Id=e.Reviewid group by a.Id

效率不高。。。。。

------解决方案--------------------
楼主搞定了,不错。
------解决方案--------------------
楼主真是浪费啊。
------解决方案--------------------
留个记号,楼主散分了
------解决方案--------------------
呵呵
------解决方案--------------------
恭喜楼主啊
------解决方案--------------------
恭喜