Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Inner Join-Abfragesyntaxfehler

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';