Мне нужно получить из phrase_table
всех строк, где столбец phrase
содержит слова, начинающиеся с be
(в этом примере), но исключить, если все слово существует в stop_words_table
, и НЕ ИСКЛЮЧАТЬ, если одно слово существует в stop_words_table
, но другого не существует (см. Id = 4 be
и because
)
phrase_table
id phrase
1 would be fine
2 nothing to do
3 belgium is beautiful
4 this also must be included because I need
.
stopwords_table
id word
1 be
.
Я пробовал это:
SELECT id FROM phrase_table
WHERE phrase REGEXP '[[:<:]]be' = 1
-- That return id 1,3,4
SELECT id FROM phrase_table
WHERE phrase REGEXP '[[:<:]]be' = 1
AND phrase NOT IN(
SELECT * FROM stopwords_table WHERE word = 'be'
)
-- That return nothing because 'be' exists in stopwords_table
ОЖИДАЕМЫЙ РЕЗУЛЬТАТ :
id 3 and 4 from phrase_table