MySQL LEFT OUTER JOIN包含第三个表

时间:2016-08-29 14:13:10

标签: mysql

我正在尝试编写一个在三个表上使用LEFT OUTER JOIN的查询。我已经完成了第一部分加入两个表格,但我仍然坚持第三个表格。

我需要的是"状态" NXLHR_Valid的字段包含在第一个查询中。

以下是我的查询,如何将SECOND查询包含在FIRST查询中

第一次查询

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

第二次查询

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

任何帮助都会很棒。谢谢你的时间。

1 个答案:

答案 0 :(得分: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