У меня есть следующая таблица MS-Access:
╔═══════════╦══════════════╗
║ colPartNo ║ colOperation ║
╠═══════════╬══════════════╣
║ 1 ║ A ║
╠═══════════╬══════════════╣
║ 1 ║ B ║
╠═══════════╬══════════════╣
║ 1 ║ C ║
╠═══════════╬══════════════╣
║ 2 ║ B ║
╠═══════════╬══════════════╣
║ 2 ║ C ║
╠═══════════╬══════════════╣
║ 3 ║ C ║
╠═══════════╬══════════════╣
║ 3 ║ D ║
╠═══════════╬══════════════╣
║ 3 ║ E ║
╠═══════════╬══════════════╣
║ 4 ║ A ║
╠═══════════╬══════════════╣
║ 4 ║ B ║
╠═══════════╬══════════════╣
║ 4 ║ C ║
╠═══════════╬══════════════╣
║ 4 ║ D ║
╠═══════════╬══════════════╣
║ 5 ║ A ║
╠═══════════╬══════════════╣
║ 5 ║ B ║
╠═══════════╬══════════════╣
║ 5 ║ C ║
╠═══════════╬══════════════╣
║ 6 ║ B ║
╠═══════════╬══════════════╣
║ 6 ║ C ║
╚═══════════╩══════════════╝
То, что я пытаюсь сделать и не могу обернуться, - это вернуть набор данных, который содержит только отдельные номера деталей, где номер детали содержит операции A, B и C. Номер детали может есть другие операции, но он ДОЛЖЕН иметь все три из них. Я могу получить отдельный список номеров деталей, но он включает детали, которые не имеют всех трех операций, используя следующую инструкцию:
SELECT DISTINCT tblPart_Info.Part_No, tblPart_Info.Operation
FROM tblPart_Info
WHERE (((tblPart_Info.Operation)="A" Or (tblPart_Info.Operation)="B" Or (tblPart_Info.Operation)="C"))
ORDER BY tblPart_Info.Part_No;
Набор данных, который я собираюсь получить, будет номерами деталей 1, 4 и 5