Как получить информацию из нескольких таблиц в базе данных с одним идентификатором? - PullRequest
0 голосов
/ 10 июня 2018

У меня есть 8 таблиц в моей базе данных, я хочу получить их данные из базы данных, используя запрос.

В моей первой таблице master_id, и я передал ее в каждую таблицу после основной таблицы.Я хочу получить все данные с master_id, которые я передал в мои таблицы.

В нем есть некоторые синтаксические ошибки.

SELECT edu_tb.* FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`

AND
    // table 2 experience

SELECT exp_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = exp_tb.`master_id`

AND
// table 3 certificate

SELECT certi_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = certi_tb.`master_id`

Ответы [ 3 ]

0 голосов
/ 10 июня 2018

Что-то вроде:

SELECT * FROM master_tb mt
INNER JOIN edu_tb et  ON mt.master_id = et.master_id
INNER JOIN exp_tb  ex_t ON mt.master_id = ex_t.master_id
INNER JOIN certi_tb ct ON mt.master_id = ct.master_id;
0 голосов
/ 10 июня 2018

Чтобы получить результат в phpmyadmin,

SELECT edu_tb.* FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`

--AND
-- table 2 experience

SELECT exp_tb.* FROM exp_tb
INNER JOIN master_tb ON
master_tb.`master_id` = exp_tb.`master_id`

--AND
--table 3 certificate

SELECT certi_tb.* FROM certi_tb
INNER JOIN master_tb ON
master_tb.`master_id` = certi_tb.`master_id`

Этот запрос приводит к 3 different table outputs для результата запроса myadmin:

Если вы пытаетесь получить набор данныхв код php , выходные данные только одного оператора выбора будут получены php (выход последнего оператора выбора).

Таким образом, объединяя все эти таблицы вместевы получите все эти таблицы, включенные в один оператор выбора.

SELECT * FROM edu_tb
INNER JOIN master_tb ON
master_tb.`master_id` = edu_tb.`master_id`

INNER JOIN exp_tb ON
master_tb.`master_id` = exp_tb.`master_id`

INNER JOIN certi_tb ON
master_tb.`master_id` = certi_tb.`master_id`

надеюсь, это поможет.

0 голосов
/ 10 июня 2018

Не рекомендуется использовать * для извлечения полей из запроса, особенно когда задействованы несколько таблиц.Запрос ниже, вероятно, будет проблематичным из-за звездочек.

SELECT edu_tb.*, exp_tb.*, certi_tb.*
FROM master_tb
INNER JOIN edu_tb ON edu_tb.`master_id` = master_tb.`master_id`
INNER JOIN exp_tb ON exp_tb.`master_id` = master_tb.`master_id'
INNER JOIN certi_tb ON certi_tb.`master_id` = master_tb.`master_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...