Разреженный поиск для отслеживания использованных записей

У меня есть сценарий, в котором у меня есть таблица заявок и таблица заявителей. Мне нужно разреженно искать идентификатор заявителя приложения в таблице требований приложения, используя SSN в качестве ключа. Проблема заключается в том, что для одного и того же SSN используется несколько идентификаторов заявителей. Поэтому я хотел бы вытащить те, которые еще не используются в таблице Claim_application. Поэтому я использую Sparse для поиска с помощью приведенного ниже запроса.

SELECT SSN, CLAIM_APPLICATION_CLAIMANT_ID 

FROM CLAIM_APPLICATION_CLAIMANT 

WHERE ORCHESTRATE.CLAIM_APPLICATION_CLAIMANT_ID not in (
     SELECT CLAIM_APPLICATION_CLAIMANT_ID 
     FROM CLAIM_APPLICATION
)

Но когда я собираюсь сопоставить ключевое выражение на этапе поиска, возникает ошибка ниже.

Ключевое выражение не может быть установлено в ключевых столбцах этой ссылки. Подключенный этап определяет поиск ключа.

В чем тут может быть дело?


person blr20    schedule 29.05.2015    source источник


Ответы (1)


я тоже сбит с толку, но, пожалуйста, изучите эти варианты.

  1. во вложенном запросе добавьте отдельное предложение и другое предложение where, чтобы приравнять ssn между обеими таблицами

  2. попробуйте альтернативный подход с использованием соединений.

  3. попробуйте использовать оператор SQL MINUS, если столбцы равны по количеству

person Nish    schedule 16.06.2015