这是我的表格:
我想要获取包含服务描述“Plaster”或技能“Plaster”或属于类别“Plaster”的供应商记录,并计算这些供应商的平均评分。
注意:如果没有任何供应商的评论,则仍然应该返回那些记录。
这是我的查询语句:
select * from UserDetails u
,VendorInCategory v
,CategoryMaster c
,Review rv
where v.CategoryId=c.Id
and u.Id=r.UserId
and u.Id=rv.VendorId
and v.VendorId=u.Id
and ((u.ServiceDescription like '%Plaster%' )
or (u.Skills like '%Plaster%')
or (c.Name like '%Plaster%'))
上述查询中的问题是,我没有得到那些没有评论的供应商。
但我也想得到那些没有评论但符合我的条件的供应商。
用户详细信息:
id Servicedescription Skills
1 Plaster plaster
2 construction construvtion
3 plaster plaster
4 null null(not vendor)
5 null null(not vendor)
回顾
id CustomerId Vendorid rating
1 4 1 3
2 5 1 3
预期输出:
VendorId ServiceDescription Skills averagerating
1 plaster plaster 3
3 plaster plaster 0
注意:最终输出应按平均评分降序排列。