У меня следующая структура базы данных:
Таблица peekable_tag, по сути, является словарем множества различных тегов.
Таблица peekable_url представляет собой таблицу, заполненную различными URL-адресами, и затем каждый URL-адрес может быть связан с несколькими тегами.
Например, для такого URL, как carmechani c .com, могут быть назначены теги "Car" и "Mechani c". И URL, такой как teslacardirectory.com, может иметь три тега: «Car», «Tesla» и «Mechani c», назначенные ему.
, используя следующий запрос, я могу получить все URL, которые им присвоено 1 ключевое слово, например, ключевое слово "Car"
Select
peekable_tag.tag,
peekable_url.id,
peekable_url.url
From
peekable_tag Inner Join
peekable_urltotag On peekable_urltotag.peekable_tag_id = peekable_tag.id Inner Join
peekable_url On peekable_urltotag.peekable_URL_id = peekable_url.id
Where
peekable_tag.tag = 'Car'
Вернет оба URL.
Однако ...
Как мне изменить это, чтобы я можно сузить поиск по нескольким ключевым словам? Так что, если бы я искал "Car" и "Tesla" в качестве ключевого слова, появился бы только teslacardirectory.com.
Я пытался
peekable_tag.tag = 'Car' AND peekable_tag.tag = 'Tesla'
Но это не возвращает никаких результатов.
Я думал о вложении одного поискового запроса в другой, но тогда я бы ограничился использованием только двух ключевых слов. Или вложите три запроса, но тогда id будет ограничен 3 ключевыми словами ... Есть ли способ достичь того, что я пытаюсь сделать, не ограничивая количество используемых ключевых слов?