У меня есть две таблицы с конструкциями ниже:
create table article (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
title varchar(50) NOT NULL,
text text,
date timestamp NOT NULL default CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;
create table article_relate (
article_id_1 int NOT NULL,
article_id_2 int NOT NULL
);
Пример записи в таблице "article"
id title
--------------------------------------
1 About Ferrari
2 About Lamborghini
3 About my friends
4 About my kitchen
Во второй таблице - "article_relates"Я описал отношения похожих тематических записей из первой таблицы.
article_id_1 article_id_2
-----------------------------------
1 2
2 1
Когда я добавлю следующую статью, я свяжу ее с первой известной мне статьей об идентичной теме.
Insert into article (id, title) values (5, 'About Maserati');
и ссылкой на аналогичную статьюс id = 2
Insert into article_relate (article_id_1, article_id_2) values (5, 2);
Insert into article_relate (article_id_1, article_id_2) values (2, 5);
Теперь я хочу отправить запрос в базу данных, чтобы получить все записи, связанные со статьей об id = 5. Также эти записи сс которой связана статья про id = 2.Результатом этого запроса должны быть записи с id = 5, 2 и 1
Какой запрос должен быть построен, чтобы получить этот эффект?
Можете ли вы мне помочь?