SQL таблица представляет неупорядоченные наборы строк. Для того, что вы хотите сделать, вам нужен столбец для упорядочивания в каждой из таблиц.
Предполагая, что они существуют и называются id
, вы можете использовать row_number()
для выравнивания строк в таблицах и выражение case
для приоритизации:
select case when a.x = 0 then b.x else a.x end x
from (select row_number() over(order by id) rn, x from tablea) a
left join (select row_number() over(order by id) rn, x from tableb) b
on a.rn = b.rn