не мог придумать лучшее название для этого вопроса в настоящее время, но вот пример набора данных Я работаю с:SQL группа запросов по с несколькими условиями
Token Buyer Amount
---------------------------------------------------------------
F3D4A490-03C9-450E-873B-3B70E68FA65B Company B 1.50
F3D4A490-03C9-450E-873B-3B70E68FA65B Company C 0.99
A85677D8-C5A9-4766-8628-AADD769240C2 Company A 3.14
A85677D8-C5A9-4766-8628-AADD769240C2 Company B 2.44
FB72BEE1-194C-48D3-8EC1-669776E8924C Company C 2.01
E9FFACBF-F9B1-4278-B49D-42E605F21D28 Company B 1.25
Мне нужно, чтобы получить список значений токена, которые соответствуют одному из двух следующих условий:
- В наборе данных имеется только один из этих тонетов.
- Существует не один из этих конкретных токенов, но ни один из значений «Покупатель» не является «Компанией A».
В этом случае, мой желаемый набор результатов будет содержать следующее:
F3D4A490-03C9-450E-873B-3B70E68FA65B
FB72BEE1-194C-48D3-8EC1-669776E8924C
E9FFACBF-F9B1-4278-B49D-42E605F21D28
Получение списка основанный на наличии одного маркера достаточно легко. Я могу сделать GROUP BY с HAVING COUNT (*) = 1. Это второе условие, которое дает мне некоторые проблемы.
Производительность не является соображением для этого решения, это одноразовый запрос, который я буду запускать.
Поскольку это ad-hoc, просто напишите 2 запроса и СОЕДИНИТЕ их вместе – DavidG