Мое требование - извлечь данные в следующем формате: если у меня одинаковое значение для COL1, то самое низкое значение COL2 должно быть заполнено для всех строк, и должно быть заполнено соответствующее значение COL3 (это может быть жестко закодировано, поскольку оно не изменится) и значение COL4, соответствующее наименьшему значению COL2, должно быть заполнено для всех строк. (Это не может быть закодировано)
Существующие данные в таблице
SELECT COL1 , COL2 , COL3 , COL4 FROM TABLE1
COL1 COL2 COL3 COL4
1234 01 ABC YYY
1234 02 DEF ZZZ
Мой ожидаемый результат:
COL1 COL2 COL3 COL4
1234 01 ABC YYY
1234 01 ABC YYY
Я попытался выполнить приведенный ниже запрос и получил выходные данные для COL2 и COL3, но для COL4 я не получаю.
SELECT
COL1,
MIN(COL2) OVER (PARTITION BY COL1) AS COL2NEW,
CASE WHEN COL2NEW = 1 THEN 'ABC'
WHEN COL2NEW = 2 THEN 'DEF' END AS COL3NEW,
COL4
FROM
TABLE1
Пожалуйста, помогите мне получить соответствующий вывод для COL4.