Tu INNER JOIN
debe ir antes de WHERE
. Tampoco creo que necesitaras los paréntesis alrededor tu BETWEEN
cláusula
, pero dudo que cause un error de cualquier manera:
SELECT Workouts.date as date, Workout_locations.location_id as loc_id
FROM Workouts
INNER JOIN Workout_locations ON Workouts.id=Workout_locations.workout_id
WHERE Workouts.pacegroup_id = '9'
AND Workouts.date BETWEEN '2013-08-19' AND '2013-08-25';
Además, aunque técnicamente deje que se salga con la suya, debe evitar usar "fecha" como nombre de columna seleccionado (es un palabra reservada ).
También podría simplificar un poco para que las cosas sean un poco más fáciles de leer:
SELECT Workouts.date AS wo_date, Workout_locations.location_id AS loc_id
FROM Workouts w
INNER JOIN Workout_locations l ON w.id = l.workout_id
WHERE w.pacegroup_id = '9'
AND w.date BETWEEN '2013-08-19' AND '2013-08-25';