, поэтому я пытаюсь отобразить мои «исходные значения» (до запуска какого-либо процесса очистки данных, который я написал) в представлении всякий раз, когда столбец 'CHANGE_CODE' помечается как ' NE 'или' NI ', мне нужно получить значение, которое соотносится с тем же Цвет , Автомобиль и Отметка времени (этобудет составным ключом), но потребуется change_code = ' ORIG ' или ' ORIG2 (в зависимости от того, что change_code соотносится с неотмеченным значением / записьюis).
То, что у меня изначально:
VAL COLOR TIMESTAMP CAR CHANGE_CODE
NULL Blue 10/16/2018 01:00 AM EST BMW NE
7 Blue 10/16/2018 01:00 AM EST BMW ORIG
20 Blue 10/16/2018 02:00 AM EST BMW ORIG
0 Blue 10/16/2018 02:00 AM EST BMW NE
15 Blue 10/16/2018 03:00 AM EST BMW ORIG
22 Blue 10/16/2018 04:00 AM EST BMW ORIG
23 Blue 10/16/2018 05:00 AM EST BMW ORIG
Как должен выглядеть мой конечный результат:
VAL COLOR TIMESTAMP CAR CHANGE_CODE
NULL Blue 10/16/2018 01:00 AM EST BMW ORIG
0 Blue 10/16/2018 02:00 AM EST BMW ORIG
15 Blue 10/16/2018 03:00 AM EST BMW ORIG
22 Blue 10/16/2018 04:00 AM EST BMW ORIG
23 Blue 10/16/2018 05:00 AM EST BMW ORIG
Что я пробовал:
select
CASE WHEN change_code IN ('NE', NI')
THEN MIN_VAL
ELSE VAL
END VAL
, color
, timestamp
, car
, change_code
from table
join (select min(val) as MIN_VAL
, color
, timestamp
, car
from table
group by COLOR, TIMESTAMP, CAR
) subq on table.color = subq.color AND table.timestamp = subq.timestamp AND table.car = subq.car;
Заранее спасибо.