Ihr INNER JOIN
sollte vor dem WHERE
stehen . Ich glaube auch nicht, dass Sie die Klammern herum brauchten Ihr BETWEEN
Klausel
, aber ich bezweifle, dass es so oder so einen Fehler verursacht:
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';
Auch, obwohl sie technisch Damit Sie damit durchkommen, sollten Sie es vermeiden, "date" als ausgewählten Spaltennamen zu verwenden (es ist ein reserviertes Wort ).
Sie könnten auch ein wenig straffen, um die Dinge ein bisschen leichter lesbar zu machen:
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';