Eu estou trabalhando em algum trabalho de SQL e alguém poderia me explicar como fazer essa pergunta?
- Exibe as pontuações brutas médias do time "Dolphins (1 ponto)
Aqui está uma imagem da estrutura de dados.
Eu preciso fazer uma consulta que retorna a pontuação bruta média de 4 jogadores. No entanto, quando tento executar o código abaixo, apenas retorna uma média.
/* Question 2 */
SELECT AVG(RawScore)
FROM Bowler_Scores
WHERE BowlerID IN
(
SELECT BowlerID
FROM Bowlers
WHERE TeamID =
(
SELECT TeamID
FROM Teams
WHERE TeamName = "Dolphins"));
Em pontuações de jogador, cada ID de jogador pode ter várias pontuações. Por exemplo, pode ter os registros - (43,101) (50,301) e (43,106).
Eu não sei como escrever e sql declaração que irá obter a pontuação bruta média para cada jogador em que a equipe de todas as pontuações cruas individuais na tabela de pontuações bowler.
Respostas:
1 para resposta № 1Se você precisar das pontuações individuais médias para cada membro da Equipe Dolphins, você pode usar isto:
Select Teams.TeamName, Bowlers.BowlerID, avg(Rawscore)
from Bowlers
inner join Teams
on Bowlers.TeamId = Teams.TeamID
inner join Bowler_Scores
on Bowlers.BowlerID = Bowler_Scores.BowlerID
where teams.teamname = "Dolphins"
group by TeamName, BowlerID
Se você só precisa de uma pontuação média para a equipe, basta remover o BowlerID das linhas SELECT e GROUP BY.