У меня есть две простые таблицы в базе данных
бумага
ID Title Author
1 A study of turtles Mary
2 Dietary habits of ducks Kate
3 Similarities of turtles and cats Fred
ключевые слова
ID Keyword
1 turtles
2 ducks
3 turtles
3 cats
Я бы хотел выбрать все статьи, в которых есть ключевое слово "черепахи". То есть он вернул бы
ID Title Author
1 A study of turtles Mary
3 Similarities of turtles and cats Fred
или
ID Title Author Keyword
1 A study of turtles Mary turtles
3 Similarities of turtles and cats Fred turtles
Меня не интересует, включено или нет название ключевого слова.
Я думаю, что мне нужно использовать select и внутреннее объединение с использованием псевдонима, но синтаксис не совсем правильный.
Я пытался
select * from (select papers.*, keywords.* from papers inner join keywords on papers.id = keywords.id) where keyword = "turtles";
что дает ошибку Every derived table must have its own alias
Я пытался следовать В чем ошибка «Каждая производная таблица должна иметь свой собственный псевдоним» в MySQL?
select * from (select papers.*, keywords.* from
(papers inner join keywords on papers.id = keywords.id) as T)
as T)
where keyword = "turtles";
, который возвращает синтаксическую ошибку.
Я знаю, что есть много подобных запросов, но я новичок в MySQL и меня путают с вопросами / примерами.
РЕДАКТИРОВАТЬ: Уточняю, что я хочу вернуть идентификаторы, которые соответствуют ключевому слову "черепаха" из ключевого слова таблицы (1 и 3 в этом примере), затем выберите из таблицы документов строки, соответствующие этим идентификаторам. Я не ищу ключевые слова в заголовке.