2017-12-03 3 views
0

Error:Column 'ReviewConsultants.ConsultantID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.GROUP_CONCAT는

검색어 :

select 
    R.ReviewID, 
    STUFF((select distinct ',' + FirstName 
      from Users 
      where UserID = RC.ConsultantID 
      FOR XML PATH ('')), 1, 1, '') AS consultantlist 
from 
    [Reviews] R, [ReviewConsultants] RC 
where 
    R.ReviewID = RC.ReviewID 
group by 
    R.ReviewID; 

한 검토는 하나 이상의 consultants.I 분리 쉼표로 열 각각의 검토를 위해 컨설턴트를 얻기 위해 노력하고있을 수 있습니다.

참고 : 컨설턴트의 이름은 사용자 테이블에 있습니다.

위의 쿼리를 실행할 때 오류가 발생합니다. 도움을 주시면 대단히 감사하겠습니다! 귀하의 경우에는

+0

[나쁜 습관 : 오래된 스타일의 조인 사용] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style- ANSI - ** 92 ** SQL 표준 (** 25 년 ** 전)에서 구식 * 쉼표로 구분 된 테이블 * 스타일 목록이 * 적절한 * ANSI'JOIN' 구문으로 대체되었습니다. 그 사용이 도와 준거에 대한 –

답변

1

당신은 DISTINCT을 사용할 수

select DISTINCT R.ReviewID, STUFF((select distinct ','+FirstName 
            from Users 
            where UserID=RC.ConsultantID 
            FOR XML PATH ('')), 1, 1, '') 
          AS consultantlist 
from [Reviews] R 
JOIN [ReviewConsultants] RC 
    ON R.ReviewID=RC.ReviewID; 

오래된 조인 구문을 피하십시오.

+0

감사를 권장하지 않습니다이 결과 ReviewID 컨설턴트 목록 CD8EC961-84CF-4136-BAF3-0F0D4EF9C040 Pandurang CD8EC961-84CF-4136-BAF3-0F0D4EF9C040 라자 EC802729-402D-4F7D-B0BE 무엇입니까 -10F72C2CF88A DIVYA EC802729-402D-4F7D-B0BE-10F72C2CF88A KOPPU MD 하지만 이렇게해야합니다. R eviewID 컨설턴트 목록 CD8EC961-84CF-4136-BAF3-0F0D4EF9C040 라자 Pandurang EC802729-402D-4F7D-B0BE-10F72C2CF88A DIVYA, KOPPU MD – sai