Имя столбца еще не является действительным, данные сначала фильтруются с условием where, а затем по отфильтрованным данным работает оператор select.Вы должны поместить его в подзапрос, прежде чем сможете его использовать.
SELECT * FROM
(SELECT cust_detl.*,
MIN(CREATION_TIMESTAMP) OVER (PARTITION BY CUST_ID) AS MIN_TIMESTAMP
FROM CUST_DETAILS cust_detl)
WHERE CREATION_TIMESTAMP=MIN_TIMESTAMP;
ОБНОВЛЕНИЕ: Я не знаю, какой список столбцов у вас есть в таблице, но если вам нужнотолько определенные столбцы, тогда запрос будет выглядеть следующим образом (при условии, что в списке выбора вам нужны только столбцы cust_id, column1, column2 и column3)
SELECT cust_id,
column1,
column2,
column3
FROM (SELECT cust_detl.cust_id,
cust_detl.column1,
cust_detl.column2,
cust_detl.column3,
cust_detl.creation_timestamp,
MIN(creation_timestamp) over(PARTITION BY cust_id) AS min_timestamp
FROM cust_details cust_detl)
WHERE creation_timestamp = min_timestamp;
Если решение все еще не получено, опубликуйте списокстолбцов из таблицы и ожидаемый результат.
Update2 : выборка курсора во внешнем запросе, этот запрос должен работать нормально.
SELECT customer_dtl_seq.nextval,
cust_id,
cus_ref_id,
cust_name,
cust_address,
creation_timestamp
FROM (SELECT cust_detl.cust_id,
cust_detl.cust_ref_id,
cust_detl.cust_name,
cust_detl.cust_address,
cust_detl.creation_timestamp,
MIN(creation_timestamp) over(PARTITION BY cust_id) AS min_timestamp
FROM cust_details cust_detl)
WHERE creation_timestamp = min_timestamp;