Как присоединиться к 3 столу в MySQL - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть 3 таблицы:

  1. Пациент (идентификатор, имя, возраст)
  2. Проверка (нет, id_patient, id_medi c, болезнь, болезнь_статус)
  3. Medi c (идентификатор, имя, возраст)

Итак, я хочу перечислить всех пациентов (имя, возраст), данные проверки (болезнь, состояние) и соответствующий порядок врачей по пациентам. name

select patient.name, age, illness, illness_status from patient INNER JOIN check on patient.id = check.id_patient order by patient.name;

Я могу получить только здесь, здесь имя medi c не появляется, я запутался, как это сделать

+-----------+------+----------------------+----------------+
| name      | age  | illness              | illness_status |
+-----------+------+----------------------+----------------+
| Thomas    |   60 | Cough                | Normal         |
| Peter     |   60 | Flu                  | Normal         |

Но я хочу отобразить вот так ,

name age illness     illness_status    medic.name

но я попробовал другой, но все равно ошибка

select patient.name, age, illness, illness_status medic.name from patient LEFT JOIN check on patient.id = check.id_patient INNER JOIN doctor on check.id_medic = medic.id order by patient.name;

1 Ответ

3 голосов
/ 24 апреля 2020

Просто добавьте еще одно соединение. Имена таблиц и столбцов в вашем запросе не на 100% соответствуют вашему вопросу, но это должно быть:

select p.name, p.age, c.illness, c.illness_status, m.name
from patient p
inner join check_up c on c.id_patient  = p.id
inner join medic m on m.id = c.id_medic
order by p.name;

Обратите внимание, что использование псевдонимов таблиц (p, c, m ) облегчает чтение и запись запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...