mysql оставил соединение с несколькими столбцами

Я создаю базу данных для своей работы, и мне трудно понять, как построить этот запрос.

Таблицы, имеющие отношение к моей проблеме:

job

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'

Я могу заставить это базовое левое соединение работать так, как я хочу, но если я хочу добавить больше столбцов, как указано выше, это не сработает.

    SELECT job, planning_id
    FROM job
    LEFT JOIN Surgical_Planning ON job = Surgical_Planning.job_job

Можно ли также использовать подзапрос? Я могу понять эти более простые запросы, но у меня действительно есть проблемы с этими более сложными соединениями и подзапросами. любые советы приветствуются.

EDIT --- Схема таблицы заданий


-- Таблица mmrl. job


УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ mmrl. задание;

СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ mmrl. job(

jobINT(11) NOT NULL AUTO_INCREMENT ,

typeVARCHAR(45) NULL ,

statusVARCHAR(45) NULL DEFAULT NULL ,

timestampTIMESTAMP NOT NULL ПО УМОЛЧАНИЮ CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,

PRIMARY KEY ( job) )

ENGINE = InnoDB

НАБОР СИМВОЛОВ ПО УМОЛЧАНИЮ = latin1;

7
задан user1245706 2 March 2012 в 22:17
поделиться