Skip to content
Advertisement

SQL: query repeating rows in join

I’m trying to display all my exercises which are in course A (course_id ‘1’)

When I run this query:

SELECT * FROM exercises 
LEFT JOIN sessions on sessions.session_id 
WHERE course_id ='1'

I get this:

Query

It’s worth noting that courses have sessions and in that session there are these exercises. Realistically only exercise_id’s 1 and 4 are linked to course 1. So why are their duplicate rows being returned? Session_id’s 10, 11, 12 and 13 are all part of course 1 but do not have any exercises in them at present. Any help would be appreciated.

Advertisement

Answer

Your in condition of the join is missing the condition.

Try something like

SELECT * FROM exercises LEFT JOIN sessions on exercises.session_id = sessions.session_id WHERE course_id ='1'.

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement