Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro de sintaxe de consulta de junção interna do MySQL


Seu INNER JOIN deve vir antes do WHERE . Eu também não acho que você precisava dos parênteses ao redor seu BETWEEN cláusula , mas duvido que isso cause um erro de qualquer maneira:
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';

Além disso, embora tecnicamente você deve evitar usar "date" como um nome de coluna selecionado (é um palavra reservada ).

Você também pode simplificar um pouco para tornar as coisas um pouco mais fáceis de ler:
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';