音声会議を使用したすべての MSFT Lync ユーザーとその使用回数を取得しようとしています。テーブルには、必要な会議に参加した User1 と User2 が 1 つの列に含まれているため、UNION を使用する必要があります。
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
返された結果には、複数の会議に参加した人がリストに 2 回表示され、合計 2 回表示されます。実際には、これを入力した後、User1Id と User2ID でグループ化する必要があります。ある人が 9 回の会話を行い、そのうち 6 回しか開始しなかった場合、User1 は 6 回、User2 は 3 回になり、2 つの異なるグループが作成されます。
理由はわかりましたが、重複した UserUri を返さない方法はありますか? どんな助けでも大歓迎です!