mysql left join avec plusieurs colonnes
Je suis en train de construire une base de données pour mon travail et j'ai du mal à comprendre comment construire cette requête.
Les tableaux pertinents à mon problème sont:
travail
Surgical_Planning - a emploi en tant que clé étrangère, il existe pour certains emplois, n'est-ce pas pour les autres
Medical_Model - a emploi en tant que clé étrangère, 1 à 1 en relation avec l'emploi
Ce travail est une requête où je n'ai pas toutes les informations au sujet de la planification chirurgicale
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
Je pense que je veux faire une jointure Gauche pour qu'elle s'affiche chaque travail de commande, avec toutes les informations dans la requête ci-dessus, mais alors quand il y a un Surgical_Planning pour un emploi # je veux qu'il y ait une colonne pour que ainsi. Voici ma tentative qui ne fonctionne pas
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'
Je peux obtenir sur cette base, une jointure gauche de travail de la façon dont je le veux, mais si je veux ajouter des colonnes comme ci-dessus, il ne fonctionne pas.
SELECT job, planning_id
FROM job
LEFT JOIN Surgical_Planning ON job = Surgical_Planning.job_job
pourrait une sous-requête, être aussi bien utilisé? Je peux comprendre ces requêtes de base, mais vraiment avoir de la difficulté avec ces plus de jointure complexe et sous-requête ceux. tout conseil est le bienvenue.
EDIT --- tableau des tâches de schéma
-- Table mmrl
.job
DROP TABLE IF EXISTS mmrl
.job
;
CREATE TABLE IF NOT EXISTS mmrl
.job
(
job
INT(11) NOT NULL AUTO_INCREMENT ,
type
VARCHAR(45) NULL ,
status
VARCHAR(45) NULL DEFAULT NULL ,
timestamp
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP SUR LA MISE À JOUR CURRENT_TIMESTAMP ,
CLÉ PRIMAIRE (job
) )
ENGINE = InnoDB
JEU de CARACTÈRES par DÉFAUT = latin1;
Vous devez vous connecter pour publier un commentaire.
changement
à
EDIT:
la gauche de la jointure se produit sur la table à gauche de la réelle
LEFT JOIN
de la syntaxe. Déplacer d'emploi à la fin de votre liste et essayez de nouveau.