Gostaria de obter o nome, sobrenome e a contagem de jogadores visualizados presentes na coluna Viewed_PlayerID
da tabela ViewedPlayers de cada usuário, cujo ID de usuário está presente na coluna CreatedByCharacterID
da tabela ViewedPlayers. Dos quais o que viewed_playerID
está marcado como "jogador de equipe" na coluna UserType
da tabela Users.
Mesa Users
:
EU IA | Tipo de usuário | Primeiro nome | Sobrenome |
---|---|---|---|
11 | Fã | PrimeiroN_TP1 | ÚltimoN_TP1 |
12 | Fã | PrimeiroN_TP2 | ÚltimoN_TP2 |
20 | Fã | PrimeiroN_TP3 | ÚltimoN_TP3 |
53 | Jogador de equipe | PrimeiroN_TP4 | ÚltimoN_TP4 |
25 | Fonske | PrimeiroN_TP5 | ÚltimoN_TP5 |
31 | Rápido | PrimeiroN_TP6 | ÚltimoN_TP6 |
60 | Jogador de equipe | PrimeiroN_TP7 | ÚltimoN_TP7 |
61 | Jogador de equipe | PrimeiroN_TP8 | ÚltimoN_TP8 |
54 | Treinador | PrimeiroN_TP9 | ÚltimoN_TP9 |
70 | Jogador de equipe | PrimeiroN_TP10 | ÚltimoN_TP10 |
56 | Treinador | PrimeiroN_TP11 | ÚltimoN_TP11 |
59 | Jogador de equipe | PrimeiroN_TP12 | ÚltimoN_TP12 |
63 | Jogador de equipe | PrimeiroN_TP13 | ÚltimoN_TP13 |
64 | Jogador de equipe | PrimeiroN_TP14 | ÚltimoN_TP14 |
65 | Jogador de equipe | PrimeiroN_TP15 | ÚltimoN_TP15 |
66 | Jogador de equipe | PrimeiroN_TP16 | ÚltimoN_TP16 |
67 | Jogador de equipe | PrimeiroN_TP17 | ÚltimoN_TP17 |
71 | Jogador de equipe | PrimeiroN_TP18 | ÚltimoN_TP18 |
72 | Treinador | PrimeiroN_TP19 | ÚltimoN_TP19 |
73 | CBM | PrimeiroN_TP20 | ÚltimoN_TP20 |
74 | Jogador de equipe | PrimeiroN_TP21 | ÚltimoN_TP21 |
75 | Jogador de equipe | PrimeiroN_TP22 | ÚltimoN_TP22 |
Mesa ViewedPlayers
:
Visualizado_PlayerID | Criado por CharacterID |
---|---|
61 | 20 |
60 | 20 |
59 | 20 |
59 | 31 |
61 | 25 |
65 | 20 |
64 | 25 |
65 | 25 |
60 | 25 |
64 | 20 |
67 | 25 |
59 | 12 |
70 | 11 |
61 | 12 |
56 | 20 |
75 | 31 |
Resultado esperado:
Primeiro nome | Sobrenome | Contar |
---|---|---|
PrimeiroN_TP3 | ÚltimoN_TP3 | 5 |
PrimeiroN_TP5 | ÚltimoN_TP5 | 5 |
PrimeiroN_TP6 | ÚltimoN_TP6 | 2 |
PrimeiroN_TP2 | ÚltimoN_TP2 | 2 |
PrimeiroN_TP1 | ÚltimoN_TP1 | 1 |
Eu tentei 2 consultas diferentes
Consulta nº 1:
SELECT
c.Firstname, c.LastName,
SUM(CASE WHEN p.CreatedByCharacterID THEN 1 ELSE 0 END) AS Count
FROM
Users c
JOIN
ViewedPlayers p ON p.CreatedByCharacterID = c.ID
WHERE
c.UserType = 'Teamplayer'
GROUP BY
p.CreatedByCharacterID
ORDER BY
SUM(CASE WHEN p.CreatedByCharacterID THEN 1 ELSE 0 END) DESC
Consulta nº 2:
SELECT
c.Firstname, c.LastName,
SUM(CASE WHEN c. UserType = 'Teamplayer' AND p.CreatedByCharacterID THEN 1 ELSE 0 END) AS Count
FROM
Users c
JOIN
ViewedPlayers p ON p.CreatedByCharacterID = c.ID
GROUP BY
p.CreatedByCharacterID
ORDER BY
SUM(CASE WHEN p.CreatedByCharacterID THEN 1 ELSE 0 END) DESC