2017-02-14 2 views
0

Я хотел бы удалить строки корректировки из запроса SQL select. Вот то, что я прямо сейчас:Удалить строки корректировки SQL Select Statment

Resource Date Leave  Position Hours Code 
33333 26/02/2016 Sick Leave TRNSPLNR -7  SICK      
33333 26/02/2016 Sick Leave TRNSPLNR  7  SICK      
33333 26/02/2016 Vacation TRNSPLNR  7  VAC 

Это то, что конечный результат должен быть:

Resource Date  Leave  Position Hours Code     
33333 26/02/2016 Vacation TRNSPLNR 7  VAC 

ответ

1

Предполагая, что существует ровно 2 такие дубликаты, вы можете сделать:

select t.* 
from t 
where not exists (select 1 
        from t t2 
        where t2.date = t.date and 
         t2.leave = t.leave and 
         t2.resource = t.resource and 
         t2.hours = - t.hours 
       ); 

Непонятно, что делает дубликат, поэтому вы можете добавить больше сравнений во внутреннее предложение where.

+0

Спасибо, Гордон, Это работает для меня! – Filip

Смежные вопросы