Я пытаюсь вернуть всех пользователей MSFT Lync, которые использовали голосовую конференцию, и количество раз, когда они ее использовали.Я должен использовать UNION, потому что таблица содержит User1 и User2, которые оба участвовали в конференции, которую я хочу, в одном столбце.
Вот SQL:
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
Возвращенные результаты имеютлюбой, кто участвовал в более чем одной конференции, появляется в списке дважды, с двумя итоговыми значениями.На самом деле, после ввода это должно быть группирование по User1Id и User2ID.Если у человека было 9 разговоров, но он инициировал только 6 из них, он был бы User1 6 раз и User2 3 раза, создавая две разные группировки.
Теперь я знаю почему, но есть идеи, как вернуть дубликат UserUri?Любая помощь с благодарностью!