sql >> Databasteknik >  >> RDS >> Mysql

MySQL Inner Join Query Syntax-fel

Din INNER JOIN bör komma före WHERE . Jag tror inte heller att du behövde parens runt din BETWEEN klausul , men jag tvivlar på att det kommer att orsaka ett fel på något sätt:

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

Även om de tekniskt låter dig komma undan med det, bör du undvika att använda "datum" som ett valt kolumnnamn (det är en reserverat ord ).

Du kan också effektivisera lite för att göra saker lite lättare att läsa:

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



  1. Hur man konverterar ISO8601 till datumformat i php

  2. Hur får man storleken på ett varchar[n]-fält i en SQL-sats?

  3. Är det möjligt att köra en textfil från SQL-fråga?

  4. E-posta .txt-filen som en bilaga via Oracle Stored Procedure