各位:有这样一个sql查询语句该怎么写
有两张表:
第一张表:book
book表中的列:
第二张表:category
category表中的列:
现在想查询Book_Class1 为 “教育” ,Book_Class2,不同的数据(5条或任意都可),包含Book_Class2的book_Name显示6条,并且求book_Name的平均评价:avgStar=count(PingLun_Star)/sum(PingLun_Star),并且可以在网页上显示出一本书的平均评价。
一点思路都没有,请大家指点指点。谢谢。
我读完表示有点凌乱~
呵呵,不好意思,我也觉得有点乱。
尝试了很多sql 代码,还是没有达到想要的结果。
先把问题整理一下吧.
1、查询Book_Class1 为 “教育”
2、Book_Class2,不同的数据(5条或任意都可)是要Book_Class2互不相同?
3、包含Book_Class2的book_Name显示6条 包含Book_Class2的book_Name?什么意思,一条数据的字段还有一个包含另一个的?
4、求book_Name的平均评价:avgStar=count(PingLun_Star)/sum(PingLun_Star),并且可以在网页上显示出一本书的平均评价 就是查平均评价吧?
还是上图片吧,刚才用cad表达了我的思想,居然不让上传图片没办法。
能整理清楚点么,咋这么凌乱呢?
SELECT b.Book_ID,b.Book_Name,p.PingLun_Star,b.Book_Guid,b.Book_Class1,b.Book_Class2,b.Book_Img,SUM(p.PingLun_Star)/COUNT(p.PingLun_Star) AS avg
FROM Book b
INNER JOIN BookPingLun p
ON b.Book_ID=p.Book_ID
WHERE b.Book_Class1=N'科 技'
group by b.Book_ID,b.Book_Name,p.PingLun_Star,b.Book_Guid,b.Book_Class1,b.Book_Class2,b.Book_Img
是这个意思
SELECT TOP 5 Book_Class2,Book_Name,Book_ID,Book_Class1
FROM Book
WHERE Book_Class1=N'科 技'
我要表达的意思也就是上面两个sql了。
@huangbine: 你都实现了,那就两个sql搞定啊。
@huangbine: 已经实现了,还想要怎么样子的呢?
@_Vegetables: 额,好像是库建的有问题,这个库应该是一个树形结构,用etc递归查询。
cte 递归查询