2016-03-17 2 views
-1

Я запускаю следующий запрос, чтобы подтвердить, что результаты этого запроса являются записями, которые я хотел бы удалить из YCSEFMST.Удаление записей в одном файле с использованием SQL с несколькими присоединениями файлов

select * from libr/yacctmst 
     join libr/ycsefmst on ctctcd = efctcd 
     join libr/ycsiamst on upper(efmail) = upper(iaaddr) 
where ctbkng = 'MDE' 

Поля ctctcd и ctbkng из файла yacctmst. Поле efctcd относится к ycsefmst. Поле iaaddr от ycsiamst.

Как использовать этот оператор для удаления записей из файла YCSEFMST?

Я пробовал следующую инструкцию и удаляет каждую запись в YCSEFMST.

delete libr/ycsefmst 
where exists (select * from libr/ycsefmst 
         join libr/yacctmst on ctctcd = efctcd 
         join libr/ycsiamst on upper(efmail) = upper(iaaddr) 
       where ctbkng = 'MDE')  

Любая помощь приветствуется!

Спасибо, Diana

ответ

0

Вы можете сделать что-то вроде этого:

Delete from libr/ycsefms Where ID IN 
select ID from libr/yacctmst 
     join libr/ycsefmst on ctctcd = efctcd 
     join libr/ycsiamst on upper(efmail) = upper(iaaddr) 
where ctbkng = 'MDE' 

Очевидно, что вам нужно заменить идентификатор с именем столбца, который вы хотите использовать в качестве уникального идентификатора.

+0

СПАСИБО СМОТРЕТЬ! Это срабатывало так, как я надеялся. Какое простое изменение, и я просто этого не видел. – Diana