[英]Mysql Exclude records from LEFT OUTER JOIN
我正在嘗試編寫一個查詢,該查詢返回表1中的所有記錄以及表2中存在匹配項的所有記錄,但從兩個表中的列包含設置內容的記錄中排除了記錄。
SELECT h.UniqueID, h.Room, h.AuditBy, h.AuditDate, h.SeqID, h.Stat, h.RepairCode, d.SeqNo, d.SeqHeader, d.SeqText
FROM NXLHR_SequenceNo_default d
LEFT OUTER JOIN NXLHR_Hist_17 h
ON d.SeqID = h.SeqID AND h.UniqueID = 'NXLHR02571493893502'
WHERE h.Stat = 1 OR h.Stat = 2 AND RepairCode IS NULL AND h.SeqID != '1306' OR h.SeqID != '1307'
目前,我的查詢會重新運行記錄,其中h.SeqID列包含“ 1306”或h.SeqID列包含“ 1307”
有沒有一種方法可以從結果中過濾出列SeqID包含“ 1306”或“ 1307”的任何記錄。
非常感謝您的寶貴時間。
根據您的描述,您似乎想要一個內部聯接。 您在WHERE
子句中有一個問題,條件周圍帶有括號-但這更容易使用IN
和NOT IN
:
SELECT h.UniqueID, h.Room, h.AuditBy, h.AuditDate, h.SeqID, h.Stat,
h.RepairCode, d.SeqNo, d.SeqHeader, d.SeqText
FROM NXLHR_SequenceNo_default d INNER JOIN
NXLHR_Hist_17 h
ON d.SeqID = h.SeqID AND h.UniqueID = 'NXLHR02571493893502'
WHERE h.Stat IN (1, 2) AND
h.RepairCode IS NULL AND
h.SeqID NOT IN ('SeqID1306', 'SeqID1307') ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.