SQL Server 2008 R2를 사용 중이고 다음 쿼리가 있습니다. 필자는 본질적으로 직원의 이름과 현재 달에 대해 작성한 총 통화 수의 두 열을 반환하려고했습니다. 나는 쿼리를 실행 시키려고했지만, 꽤 오랜 시간이 걸리며 총 호출 수에 대해 거대한 잘못된 숫자가 반환됩니다. 누구든지 이걸 나에게 줄 수 있니?SQL : 조인 결과 행 개수
Select A.Name, count(1) As TotalCalls
From Calls B INNER JOIN Employees A on B.EmployeeID = A.TechID
Where A.Name IN ('Steven', 'John', 'Mark', 'Jason', 'Tom')
AND Month(B.CreationDate) = Month(GetDate()) and Year(B.CreationDate) = Year(GetDate())
Group By A.Name
편집 : 나는 다음과 같은 쿼리를 시도하고 내가 지금 아주 가까이 나는 생각한다. 정확한 결과 집합을 반환하고 있습니다.이 쿼리를 현재 달만 보는 방법을 모르겠습니다.
Select A.Name, B.CallCount
From Employees A Inner Join (Select EmployeeID, Count(*) As CallCount From Calls Group By EmployeeID) B
On A.TechID = B.EmployeeID
Where A.Name IN ('Steven', 'John', 'Mark', 'Jason', 'Tom')
Group By A.Name, B.CallCount
그룹없이 쿼리를 실행하여 예상되는 행을 반환했는지 확인 했습니까? – Serpiton
그렇습니다. "Column 'A.Name'은 집계 함수에 포함되어 있지 않고 GROUP BY 절이 없기 때문에 선택 목록에서 유효하지 않습니다." – user3272370
죄송합니다. 잘못된 것을 복사하여 붙여 넣었습니다. 이전의 의견을 수정했습니다. – user3272370