У меня есть страница с некоторыми фильтрами. Данные находятся в трех разных таблицах с некоторыми общими полями, такими как дата, заголовок и т. Д. Моя проблема состоит в том, как получить данные из трех таблиц и вывести эти данные на одной странице. На этой странице должны быть реализованы нумерация страниц и основные фильтры. Я пришел с этим решением:
Запросите таблицу по отдельности и объедините и смешайте результат, используя php (Codeigniter). В фронте я использую AngularJs.
Я ищу руководство, а не реализацию. Я могу реализовать это по-своему, но я хочу лучшее решение, которое отлично работает.
Любая помощь будет признательна.
ДАВАЙТЕ ПРИМЕР
table1, имеющий поле user_id (первичный ключ), имя, адрес электронной почты
а также
таблица2, имеющая поле detail_id, user_id (внешний ключ), адрес, пин-код
таким образом, вы получите общие данные, которые присутствуют в обеих таблицах
SELECT *
FROM table1
INNER JOIN table2
ON table1.user_id= table2.user_id
Я думаю, что вы должны написать один запрос и использовать ЛЕВЫЙ РЕЙТИНГ объединить несколько столов
Вот пример использования Left Join:
SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.fk_id
Для этого запроса table2.fk_id является внешним ключом, и если этот внешний ключ совпадает с ключом table1.id, вы сможете извлечь данные из таблиц table1 и table2 одним запросом!
Для получения дополнительной информации о левом присоединении проверьте эту страницу: http://sql.sh/cours/jointures/left-join