Вашето INNER JOIN
трябва да е преди WHERE
. Също така не мисля, че имате нужда от скобите наоколо вашият BETWEEN
клауза
, но се съмнявам, че така или иначе ще доведе до грешка:
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';
Освен това, въпреки че технически да ви позволи да се измъкнете, трябва да избягвате да използвате „дата“ като име на избрана колона (това е запазена дума ).
Можете също така да направите малко рационализиране, за да направите нещата малко по-лесни за четене:
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';