我有3個表...SQL選擇行,其中從鏈接表中的所有行具有在列中的相同值x
- 檢驗(A)
- Inspection_Vehicle(B)
- Inspection_Vehicle_Defect(C)
我想從一個返回所有行時由C所有鏈接行中列有的值Checklist_Result_ID
表C包含一個鏈接到表B - Inspection_Vehicle_ID的列。 表B包含一個鏈接到表A - Inspection_ID的列。
我想要做這樣的事情:
SELECT DISTINCT A.* FROM Inspection AS A
LEFT JOIN Inspection_Vehicle AS B ON B.Inspection_ID = A.Inspection_ID
LEFT JOIN Inspection_Vehicle_Defect AS C ON C.Inspection_Vehicle_ID = B.Inspection_Vehicle_ID
WHERE C.Checklist_Result_ID = 6;
除了我只想要結果時ALL在C聯行具有C.Checklist_Result_ID = 6。
例如,當表C有以下行:
ID Inspection_Vehicle_ID Checklist_Result_ID
5 1001 6
6 1001 6
7 1001 6
8 1001 5
......然後,我不想從A行任何時候A.Inspection_ID = B.Inspection_ID AND B.Inspection_Vehicle_ID = 1001
但是,如果C.Create_Result_ID = 6在C中的所有鏈接行中,我希望這些記錄。
如果沒有鏈接行,該怎麼辦? –