Hello, can I please have assistance finding out what’s wrong with my query. I’m new to sql and have been trying to pin point the error but I’m unable to. Please help!
SELECT
player_id,
player_first_name,
player_last_name, game_id,
round((accurate_shots / total_shots) * 100, 0 ) AS accuracy_pct
FROM
(
SELECT
player_id,
player_first_name,
player_last_name,
game_id,
COUNT(shot_no)
OVER(PARTITION BY player_id, game_id) AS total_shots,
SUM((
CASE
WHEN service_line_accuracy = 'Y' THEN
1
ELSE
0
END
))
OVER(PARTITION BY player_id, game_id) AS accurate_shots
FROM
(
SELECT
player_id,
player_first_name,
player_last_name,
game_id,
shot_no,
CASE
WHEN player_x_value > 0
AND shot_x_value BETWEEN serviceline.mid_point AND serviceline.end_range
AND shot_y_value BETWEEN sideline.start_range AND sideline.end_range THEN
'Y'
WHEN player_x_value < 0
AND shot_x_value BETWEEN serviceline.mid_point AND serviceline.start_range
AND shot_y_value BETWEEN sideline.start_range AND sideline.end_range THEN
'Y'
ELSE
'N'
END AS service_line_accuracy
FROM
shots s,
player p,
serviceline sel,
sideline sil
WHERE
s.player_id = p.player_id
) shot_level_data
) player_game_level_data;