Ik heb een tabel links, een tabel keywords en een koppeltabel linkkeywords. Nou is het heel eenvoudig om de links te vinden die gekoppeld is aan tenminste een van de keywords met id 1, 2 of 3.
Maar dat is niet wat ik zoek. Ik wil alleen de links hebben die gekoppeld zijn aan al de opgegevend keywords. Nou lukt dat wel met deze query
Maar ik heb het gevoel dat het eenvoudiger moet kunnen. Zie ik een simpele oplossing over het hoofd?
SQL:
1
2
3
4
| SELECT DISTINCT l.LinkID, l.Title, l.Url FROM links l INNER JOIN linkkeywords lk ON lk.LinkID = l.LinkID WHERE lk.KeywordID IN (1,2,3) |
Maar dat is niet wat ik zoek. Ik wil alleen de links hebben die gekoppeld zijn aan al de opgegevend keywords. Nou lukt dat wel met deze query
SQL:
1
2
3
4
5
6
| SELECT l.LinkID, l.Title, l.Url FROM links l INNER JOIN linkkeywords lk ON lk.LinkID = l.LinkID WHERE lk.KeywordID IN (1,2,3) GROUP BY l.LinkID, l.Title, l.Url HAVING COUNT(lk.KeywordID)=3 |
Maar ik heb het gevoel dat het eenvoudiger moet kunnen. Zie ik een simpele oplossing over het hoofd?