Ребят, всем день добрый!
Подскажи пожалуйста, у меня есть таблица orders, в ней поле - devices_id, сейчас там есть нулевые значения, мне поступила задача, сделать так, чтобы там не было нулевых значений
Я собственно выполняю запрос:
select id,
household_id,
case
when device_id is null then (select first_value(device_id) over(partition by id order by updated_at desc rows current row)
from tv_bmp.v_orders
where device_id is not null
)
else device_id end device_id,
created_at,
updated_at
from tv_bmp.v_orders o
И мне выдает ошибку SQL Error [21000]: ERROR: more than one row returned by a subquery used as an expression
И я, в принципе, согласен с ней, но как ее исправить пока так и не придумал 😕
Причем заменять нулевые значения надо по следующему условию - берем по id последнюю строчку с ненулевым device_id и заменяем нулевое значение. Последнюю строчку выбираем по полю updated_at