【发布时间】:2014-12-03 04:11:00
【问题描述】:
请参考我已经问过的这个问题:
calculate average rating in sql server
一切正常。我也得到了我想要的输出,但我只想要给出评论的客户名称。
这是我从上面的链接中获取的查询:
SELECT u.id,u.fullname,u.email,u.ServiceDescription, u.Skills,c.Name,rv.Reviews,
ISNULL(rv.averagerating, 0) averagerating
FROM UserDetails u
INNER JOIN VendorInCategory v ON v.VendorId=u.Id
INNER JOIN CategoryMaster c ON v.CategoryId=c.Id
LEFT JOIN (SELECT rv.VendorId,rv.Reviews, AVG(rv.RatingValue) averagerating FROM Review rv GROUP BY rv.VendorId,rv.Reviews) rv ON u.Id=rv.VendorId
WHERE ((u.ServiceDescription LIKE '%SearchKeyword%') OR (u.Skills LIKE '%@SearchKeyword%') OR
(c.Name LIKE '%@SearchKeyword%'))
ORDER BY ISNULL(rv.averagerating, 0) DESC;
现在,在该查询中,可以获取给出评论的客户名称???
用户详情:
id Name Servicedescription Skills
1 john Plaster plaster
2 abc construction construction
3 xyz plaster plaster
4 pqr null null(not vendor)
5 lmn null null(not vendor)
评论
id CustomerId Vendorid rating reviews
1 4 1 3 fdd
2 5 1 3 dfg
预期输出:
VendorId ServiceDescription Skills rating customername reviews
1 plaster plaster 3 pqr good
3 plaster plaster 3 lmn bad
我不想计算平均评分。
有人可以帮我吗????
【问题讨论】:
-
您如何评价 riview 的好坏,因为在您的评论表中,第一个评分为 3 的记录是 riviews 好,但第二个评分为 3 的记录很差
-
评论已存储在我的评论表中
-
是否计算平均评分
标签: sql sql-server sql-server-2008 select