Я должен получить записи, которые имеют идентификаторы местоположения, охватывающие несколько идентификаторов контракта, также исключая дубликатыНиже приведен пример таблицы.Вторая таблица - это запрос с моим желаемым результатом.
| CONTRACT ID | LOCATION ID | CONTRACT NAME | CONTRACT DATE | CONTRACT STATUS |
--------------------------------------------------------------------------
| CT1 | 100 | MICROSOFT | 12/09/2029 | PENDING
| CT1 | 100 | MICROSOFT | 12/09/2029 | APPROVED
| CT3 | 155 | YAHOO | 02/03/2030 | EXPIRED
| CT4 | 180 | ADOBE | 02/03/2030 | IN LITIGATION
| CT4 | 180 | ADOBE | 02/03/2030 | APPROVED
| CT5 | 199 | YAHOO | 02/03/2030 | PENDING
| CT6 | 100 | GOOGLE | 10/23/2028 | PENDING
| CT7 | 155 | UBER | 05/15/2027 | PENDING
---------------------------------------------------------------------------
| CONTRACT ID | LOCATION ID |
----------------------------------
| CT1 | 100 |
| CT6 | 100 |
| CT3 | 155 |
| CT7 | 155 |
-----------------------------------
Я пытался выполнить этот запрос, но он также включает в себя записи обоих контрактов Adobe CT4, которые имеют идентификатор местоположения, который не охватывает несколько идентификаторов контракта.Даже если я поставлю отличительное в начале запроса, эта пара идентификатора контракта CB4 / идентификатор местоположения не должна быть частью результатов.
SELECT contract_id, location_id from random_table where location_id in
(SELECT location_id FROM random_table
where (location_id is not null)
group by location_id having count( location_id) > 1 )
group by contract_id, location_id
order by location_id