Для одного сотрудника время и время окончания должны быть возвращены на одной строке - PullRequest
0 голосов
/ 03 июля 2018
select 
    compcode, emplcode, attndate, costcode,
    decode(shiftflg, 'I', readtime) INTIME,
    decode(shiftflg, 'O', readtime) OUTTIME
from
    ecatnrec
where  
    emplcode = 'RF025'
order by 
    emplcode;

enter image description here

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете использовать агрегацию:

select compcode, emplcode, attndate, costcode,
       max(case when shiftflg = 'I' then readtime end) as INTIME,
       max(case when shiftflg = 'O' then readtime end) as OUTTIME
from ecatnrec
where  emplcode = 'RF025'
group by compcode, emplcode, attndate, costcode
order by emplcode;

Предполагается, что для уникальных значений клавиш group by имеется не более одной строки "I" и одной строки "O".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...