2017-03-18 1 views
0
내 ReviewDetails.Review 열을 계산하려면

에 가입하지만 난 오류가있어 : 내가 쓰기로 계산 얻기 위해 노력하고 있기 때문에 여기에 카운트 열은

Column 'AdvertiserMaster.AdvertiserID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

인가 내 쿼리

SELECT DISTINCT 
AdvertiserMaster.AdvertiserID, AdvertiserMaster.BusinessName , ISNULL(AdvertiserMaster.AverageRating, 0) AS AverageRating, AdvertiserMaster.ImageURL1, AdvertiserMaster.Address1, 
AdvertiserMaster.CategoryID, AdvertiserMaster.Email, AdvertiserMaster.CountryID, AdvertiserMaster.StateID, AdvertiserMaster.CityID, AdvertiserMaster.PinCode, AdvertiserMaster.Mobile, 
CategoryMaster.CategoryName, CountryMaster.CountryName, StateMaster.StateName, CityMaster.CityName,Count(ReviewDetails.Review) AS ReviewCount 
FROM AdvertiserMaster INNER JOIN 
BusinessCategoryDetails ON AdvertiserMaster.AdvertiserID = BusinessCategoryDetails.AdvertiserID INNER JOIN 
ReviewDetails ON AdvertiserMaster.AdvertiserID = ReviewDetails.AdvertiserID LEFT OUTER JOIN 
CategoryMaster ON AdvertiserMaster.CategoryID = CategoryMaster.CategoryID LEFT OUTER JOIN 
CountryMaster ON AdvertiserMaster.CountryID = CountryMaster.CountryID LEFT OUTER JOIN 
CityMaster ON AdvertiserMaster.CityID = CityMaster.CityID LEFT OUTER JOIN 
StateMaster ON AdvertiserMaster.StateID = StateMaster.StateID LEFT OUTER JOIN 
SubCategoryMaster ON BusinessCategoryDetails.SubCategoryID = SubCategoryMaster.SubCategoryID 
WHERE (AdvertiserMaster.CategoryID = 8) AND (AdvertiserMaster.CityID = 16619) AND (AdvertiserMaster.IsActive = 1) 

을 백작 (ReviewDetails.Review)

하지만 아무 소용이 없습니다. 당신이 뭔가를 계산 (또는 합계와 같은 다른 집계 함수를 사용),이 같은 예를 들어,이 조항에 의해 그룹과 계산되는 수준을 정의해야 할 경우 ClassifiedBD Images

답변

0

: 여기

내 테이블입니다 :

SELECT 
    AdvertiserMaster.AdvertiserID, 
    AdvertiserMaster.BusinessName, 
    ISNULL(AdvertiserMaster.AverageRating, 0) AS AverageRating, 
    AdvertiserMaster.ImageURL1, 
    AdvertiserMaster.Address1, 
    AdvertiserMaster.CategoryID, 
    AdvertiserMaster.Email, 
    AdvertiserMaster.CountryID, 
    AdvertiserMaster.StateID, 
    AdvertiserMaster.CityID, 
    AdvertiserMaster.PinCode, 
    AdvertiserMaster.Mobile, 
    CategoryMaster.CategoryName, 
    CountryMaster.CountryName, 
    StateMaster.StateName, 
    CityMaster.CityName, 
    COUNT(ReviewDetails.Review) AS ReviewCount 
FROM AdvertiserMaster 
INNER JOIN BusinessCategoryDetails 
    ON AdvertiserMaster.AdvertiserID = BusinessCategoryDetails.AdvertiserID 
INNER JOIN ReviewDetails 
    ON AdvertiserMaster.AdvertiserID = ReviewDetails.AdvertiserID 
LEFT OUTER JOIN CategoryMaster 
    ON AdvertiserMaster.CategoryID = CategoryMaster.CategoryID 
LEFT OUTER JOIN CountryMaster 
    ON AdvertiserMaster.CountryID = CountryMaster.CountryID 
LEFT OUTER JOIN CityMaster 
    ON AdvertiserMaster.CityID = CityMaster.CityID 
LEFT OUTER JOIN StateMaster 
    ON AdvertiserMaster.StateID = StateMaster.StateID 
LEFT OUTER JOIN SubCategoryMaster 
    ON BusinessCategoryDetails.SubCategoryID = SubCategoryMaster.SubCategoryID 
WHERE (AdvertiserMaster.CategoryID = 8) 
AND (AdvertiserMaster.CityID = 16619) 
AND (AdvertiserMaster.IsActive = 1) 
GROUP BY AdvertiserMaster.AdvertiserID, 
     AdvertiserMaster.BusinessName, 
     ISNULL(AdvertiserMaster.AverageRating, 0), 
     AdvertiserMaster.ImageURL1, 
     AdvertiserMaster.Address1, 
     AdvertiserMaster.CategoryID, 
     AdvertiserMaster.Email, 
     AdvertiserMaster.CountryID, 
     AdvertiserMaster.StateID, 
     AdvertiserMaster.CityID, 
     AdvertiserMaster.PinCode, 
     AdvertiserMaster.Mobile, 
     CategoryMaster.CategoryName, 
     CountryMaster.CountryName, 
     StateMaster.StateName, 
     CityMaster.CityName 

별로 분류 할 필요가 없습니다.

테이블의 별칭을 사용하고 SQL의 서식 지정/들여 쓰기를 시작하는 것이 좋습니다