Мне нужно сделать небольшую настройку здесь и не уверен, что это можно сделать. В следующем случае, если нет строки '001', тогда я хочу только 1 строку для этого порядка, но когда есть 001, я хочу этого и следующего в соответствии с самым ранним временем.нужно выбрать максимум 2 строки, но в зависимости от значения
CREATE VIEW rklib.clspaytp AS Select * from
(
Select x.*,
row_number() over (partition by otord#
order by case ottrnc when '001' then 1 else 2 end
, ottrnd, ottrt
)
as RowN
from rklib.clspaytpp x
) a
where a.RowN in (1,2)
У нас есть данные, как например:
+-------+-------+------+------+
| Order | Codes | Rep | Time |
+=======+=======+======+======+
| 123 | 001 | Buck | 0900 |
+-------+-------+------+------+
| 123 | CCW | BUCK | 0909 |
+-------+-------+------+------+
| 123 | FGH | BUCK | 0904 |
+-------+-------+------+------+
Здесь мы хотим, 001 и FGH. FGH раньше CCW на 5 м.
Теперь, если 001 не было, то все, что мы хотим это FGH, из 2. Мы хотим только 2fer, когда один из них является 001.
Измените свой вопрос и покажите образец входных данных и пример конечного результата, который вы хотите. –