2016-08-29 2 views
0

Ich versuche, eine Abfrage zu schreiben, die einen LEFT OUTER JOIN auf drei Tabellen verwendet. Ich habe den ersten Teil vervollständigt, um zwei Tische zu verbinden, aber ich bin fest daran, den dritten Tisch zu intergarden.MySQL LINKS OUTER JOIN, um dritte Tabelle zu enthalten

Was ich brauche, ist das Feld "Status" für die NXLHR_Valid in der ersten Abfrage enthalten sein.

Hier sind meine auf Anfragen, wie würde ich die zweite Abfrage in der ersten Abfrage

FIRST QUERY

SELECT NXLHR_SequenceNo_default.SeqNo, NXLHR_SequenceNo_default.SeqHeader, NXLHR_SequenceNo_default.SeqText, NXLHR_Hist.UniqueID, NXLHR_Hist.Room, NXLHR_Hist.Status, NXLHR_Hist.Water, NXLHR_Hist.AuditBy 
FROM NXLHR_SequenceNo_default 
LEFT OUTER JOIN NXLHR_Hist 
ON NXLHR_SequenceNo_default.SeqID = NXLHR_Hist.SeqID 
AND NXLHR_Hist.UniqueID = 'NXLHR01031472477564' 
WHERE NXLHR_SequenceNo_default.SeqActive = 1 
ORDER BY NXLHR_SequenceNo_default.OrderID 

SECOND QUERY

SELECT NXLHR_Valid.UniqueID, NXLHR_Valid.Status 
FROM NXLHR_Valid 
WHERE NXLHR_Valid.UniqueID = 'NXLHR01031472477564' 

Jede Hilfe wäre toll sind. Vielen Dank für Ihre Zeit.

+0

Es wäre besser, Ihr Geschäftsziel zu beschreiben und nicht, wie Sie drei Tabellen äuβerst verbinden. Es gibt kein Problem beim Verbinden von drei Tabellen mit äußeren Joins. –

Antwort

1
SELECT d.SeqNo 
    , d.SeqHeader 
    , d.SeqText 
    , h.UniqueID 
    , h.Room 
    , h.Status 
    , h.Water 
    , h.AuditBy 
    , v.Status 
    FROM NXLHR_SequenceNo_default d 
    LEFT 
    JOIN NXLHR_Hist h 
    ON h.SeqID = d.SeqID 
    AND h.UniqueID = 'NXLHR01031472477564' 
    LEFT 
    JOIN NXLHR_Valid v 
    ON v.UniqueID = h.UniqueID 
WHERE d.SeqActive = 1 
ORDER 
    BY d.OrderID 
+0

Vielen Dank für Ihre Antwort, funktioniert einwandfrei. Ich habe etwas gelernt. Noch einmal Danke. – DCJones

+0

(hoffentlich mehrere Dinge!) – Strawberry

Verwandte Themen