Я создаю базу данных для своей работы, и мне трудно понять, как построить этот запрос.mysql left join with multiple columns
Таблицы, имеющие отношение к моей проблеме является:
работы
Surgical_Planning - имеет работу в качестве внешнего ключа, существует для некоторых рабочих мест, не для другого
Medical_Model - имеет работу в качестве внешнего ключа , 1 к 1 отношения с работой
Это рабочий вопрос, где у меня нет никакой информации о хирургическом планировании
SELECT
job,
physician_idphysician as Physician,
patient_idpatient as Patient,
status,
DATE_FORMAT(scan_date, '%M %e, %Y, %l:%i%p') as Scan_Date,
DATE_FORMAT(timestamp, '%M %e, %Y, %l:%i%p') as Recieved,
DATE_FORMAT(date_required, '%M %e, %Y, %l:%i%p') as Date_Required
FROM
job, patient_has_physician as phys, Scan, Medical_Model as med
WHERE
Scan.job_job = job AND phys.job_job = job
AND med.job_job = job AND job.type = 'medical
Я думаю, что хочу сделать левое соединение так, чтобы оно отображало каждое задание по порядку со всей информацией в запросе выше, но затем, когда есть работа Surgical_Planning для задания # Я хочу, чтобы там был столбец для этого. Вот моя попытка, которая не работает
SELECT
job,
physician_idphysician as Physician,
patient_idpatient as Patient,
status,
DATE_FORMAT(scan_date, '%M %e, %Y, %l:%i%p') as Scan_Date,
DATE_FORMAT(timestamp, '%M %e, %Y, %l:%i%p') as Recieved,
DATE_FORMAT(date_required, '%M %e, %Y, %l:%i%p') as Date_Required
FROM
job, patient_has_physician as phys, Scan, Medical_Model as med
LEFT JOIN Surgical_Planning ON job.job = Surgical_Planning.job_job
AND Scan.job_job = job AND phys.job_job = job
AND med.job_job = job AND job.type = 'medical'
я могу получить эту основную LEFT JOIN работает так, как я хочу, но если я хочу, чтобы добавить больше столбцов, как над ним не работает.
SELECT job, planning_id
FROM job
LEFT JOIN Surgical_Planning ON job = Surgical_Planning.job_job
Может быть использован и подзапрос? Я могу выяснить эти более простые запросы, но действительно имею проблемы с этими более сложными соединениями и подзапросами. любые советы приветствуются.
EDIT --- таблица Работа схемы
- Таблица mmrl
. job
DROP TABLE IF EXISTS mmrl
. job
;
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ mmrl
.job
(
job
INT (11) NOT NULL AUTO_INCREMENT,
type
УАКСНАК (45) NULL, то
status
УАКСНАК (45) Ноль По умолчанию значение NULL,
timestamp
ТШЕЗТАМР NOT NULL УМОЛЧАНИЮ CURRENT_TIMESTAMP ПО UPDATE CURRENT_TIMESTAMP,
ПЕРВИЧНЫЙ КЛЮЧ (job
))
ДВИГАТЕЛЬ = InnoDB
DEFAULT CHARACTER SET = latin1;