I have a Exercise table, and a Tag table. Each exercise can have several tags so I have a third table for the one to many relationship.
What I try to achieve is getting all the exercises that does NOT have a specific tag.
Data example:
Exercise 1
Exercise 2
Exercise 3
Tag 1
Tag 2
Exercise 1 - Tag 1
Exercise 1 - Tag 2
Exercise 2 - Tag 1
Exercise 3 - Tag 2
In this case, looking for exercises not having tag 1, I should get Exercise 3 only.
Last attempt I have is:
SELECT Exercise.id FROM Exercise, Tags
INNER JOIN TagsExercises
ON Exercise.id=TagsExercises.idExercise AND TagsExercises.idTag=Tags.id
WHERE Tags.id NOT in ( '3' )
GROUP BY Exercise.id;
And I get Exercise 3 AND Exercise 1 because of the entry with tag 2... u.u Not sure how to form the SQL, any ideas?