Domanda

Sto cercando di restituire tutti gli utenti di Lync MSFT che hanno usato le conferenze vocali e il numero di volte che lo hanno usato. Devo usare il sindacato perché la tabella ha User1 e User2 che hanno partecipato entrambi alla conferenza che voglio in una colonna.

Ecco 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  

I risultati restituiti hanno chiunque abbia partecipato a più di una conferenza che appare due volte nell'elenco, con due conteggi. In realtà, dopo averlo digitato, deve essere raggruppato tramite User1ID e User2ID. Se una persona avesse 9 conversazioni ma ne inviava solo 6, sarebbe utente1 6 volte e utente 2 3 volte, creando i due diversi raggruppamenti.

Ora so perché, ma qualche idea su come restituire nessun utente duplicato? Qualsiasi aiuto molto apprezzato!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top