我需要一个查询来查找未获得“ Rating 6”记录的检验/组件。我将插入新记录,以便所有检验/组件都具有“ Rating 6”记录,以及它们可能具有的其他任何等级。

请考虑以下数据:57646、57652和57657不正确,因为它们缺少其6级记录。在此数据示例中,这三个应该是查询返回的唯一检查/组件。

InspectionID  ComponentID     RatingTypeID
138           57646           10
138           57647           6
138           57647           2
138           57648           6
138           57649           6
138           57650           6
138           57651           10
138           57651           6
138           57652           10
138           57653           6
138           57654           6
138           57655           6
138           57656           6
138           57657           10

最佳答案

SELECT *
FROM YourTable A
WHERE NOT EXISTS(SELECT 1 FROM YourTable
                 WHERE InspectionID = A.InspectionID
                 AND ComponentID = A.ComponentID
                 AND RatingTypeID = 6)

08-16 23:45