SELECT 문에 계산 열을 추가 할 때까지 잘 실행되는 SQL Server 쿼리가 있습니다. 그런 다음 이상한 SQL Server 오류가 발생합니다. 여기 SQL Server SELECT 문의 집계 열 쿼리
는 SQL의 : 문제는 라인과 함께 시작SELECT
outmail_.MessageID_,
CONVERT(VARCHAR(10),outmail_.Created_,120) AS 'Issue',
lyrReportSummaryData.mailed,
lyrReportSummaryData.successes,
COUNT(*) AS 'opens',
COUNT(DISTINCT clicktracking_.MemberID_) AS 'unique_opens',
convert(decimal(3,1),((convert(float,[unique_opens]))/[successes]) * 100) AS 'Rate'
FROM
outmail_
RIGHT JOIN
clicktracking_ ON clicktracking_.MessageID_ = outmail_.MessageID_
RIGHT JOIN
lyrReportSummaryData ON lyrReportSummaryData.id = clicktracking_.MessageID_
GROUP BY
outmail_.MessageID_, CONVERT(VARCHAR(10), outmail_.Created_,120),
lyrReportSummaryData.mailed, lyrReportSummaryData.successes
convert(decimal ...
이 포함되면, 나는 다음과 같은 오류 얻을 :
Error 8120: Column 'lyrReportSummaryData.unique_opens' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
내가 해결하는 방법을 잘 모르겠어요를 오류 이후에 나는 GROUP BY
절에서 그것을 사용하는 방법을 모른다. (그렇게해야 할 필요가 없다.)
진행 방법에 대한 제안 사항이 있으십니까? 감사.
정상적으로 작동해야하지만 구문 오류가 발생했습니다. 오류 102 : 구문이 잘못되었습니다. ')'어떤 아이디어입니까? 감사. – jalperin
검색어 끝에 'g'가 누락되었습니다. 일단 내가 그것을 추가, 모든 일했습니다. 나는 분명히 MSSQL 초보자이다. 'g'는 무엇을 나타내는가? – jalperin
g는 하위 쿼리의 별칭입니다. 테이블에 별명을 줄 수도 있고 똑같이 작동 할 수도 있습니다. 예를 들어'select s.staffid, s.name, p.payrate, p.startdate from staff s join payrate p on s.staffid = p.staffid' - 예, 이것은 참여할 수 있다는 것을 의미합니다. 질문. –