sql >> Base de Datos >  >> RDS >> Mysql

Error de sintaxis de consulta de unión interna de MySQL

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