2
음성 회의를 사용하는 모든 MSFT Lync 사용자 및 사용 횟수를 반환하려고합니다. 테이블에 User1과 User2가 모두 있고 한 곳에서 원하는 컨퍼런스에 참여했기 때문에 UNION을 사용해야합니다.SQL Union with COUNT() 함수가 예상 결과를 반환하지 않음
SELECT U.UserUri,
COUNT(U.UserUri) AS COUNT
FROM SessionDetails AS S
INNER JOIN Users U
ON S.User1Id = U.UserId
WHERE MediaTypes = 48
GROUP BY U.UserUri
UNION
SELECT U.UserUri,
COUNT(U.UserUri) AS COUNT
FROM SessionDetails AS S
INNER JOIN Users U
ON S.User2Id = U.UserId
WHERE MediaTypes = 48
GROUP BY U.UserUri
반환 된 결과는 두 개의 수를 합계로, 두 번 목록에 나타나는 하나 이상의 회의에 참여한 사람이 : 여기
는 SQL이다. 사실, 이것을 입력 한 후에 User1Id와 User2ID로 그룹화해야합니다. 한 사람이 9 회 대화를했으나 6 회의 대화가 있었을 경우 그들은 User1 6 회와 User2 3 회가되어 두 개의 다른 그룹을 만들었습니다.이제는 왜,하지만 어떤 아이디어를 중복 UserUri 중복 반환하는 방법 알아? 어떤 도움을 주셔서 감사합니다!
흠 좋은 생각처럼 보이지만 그것은 나에게 오류주고있다 : "잘못된 열 이름 'U'"를. select 문에서 U가 맘에 들지 않는 것 같습니다. – tarheels058
실제로 T.U가 마음에 들지 않습니다. 첫 번째 select 문에서 – tarheels058
이 솔루션은 작동하지 않습니다. 유니온 뒤에 집계 한 경우 UserUri 목록이고 각 카운터의 개수는 1입니다. – tarheels058