1
select  tblProductMaster.*,AVG(tblReviewMaster.Rating) from tblProductMaster 
    left join tblReviewMaster 
    on tblProductMaster.ProductID = tblReviewMaster.ProductID       
Group By tblProductMaster.ProductID     

此查询返回错误:

列 'tblReviewMaster.ReviewID' 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。

它不允许我有任何带有 AVG 功能的列......如果我写

select AVG(tblReviewMaster.Rating) from tblProductMaster ...

然后它工作正常

那么如何获取产品详细信息tblProductMaster呢?

4

1 回答 1

0

错误消息显示“列 'tblReviewMaster.ReviewID' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。

这意味着除了聚合函数(AVG)中的列之外的所有列都应该是 Group By Clause 的一部分。因此,如果 * 表示(第 1 列、第 2 列......等),那么所有这些列都必须出现在 GroupBy 子句中。

所以你的查询是

select  tblProductMaster.*,AVG(tblReviewMaster.Rating) from tblProductMaster 
    left join tblReviewMaster 
    on tblProductMaster.ProductID = tblReviewMaster.ProductID       
Group By tblProductMaster.* 

*,我的意思是写所有代表 * 的列。* 在这里不起作用。

请在MSDN上找到更多详细信息

于 2012-11-27T07:29:18.867 回答