Полный ответ затруднителен с предоставленной информацией, но прежде всего вы должны уточнить, что вы хотите увидеть, когда выбрано 0 записей и как должны выглядеть результаты SQL.
Одна идеяможет использоваться оператор объединения всех SQL с фиктивным SQL, который вы уже описали как второй SQL в UNION ALL.
Для извлечения только одной или другой, я предлагаю следующую структуру (или что-то подобное)
with temp as (
select 'original' as text, 1 as id
from sysibm.sysdummy1
where 1 = 1
union all
select 'fallback' as text, 2 as id
from sysibm.sysdummy1
)
select * from temp
where id = (select min(id) from temp)
Первая часть UNION AL является оператором originina, а резервный оператор выбирается только/ возвращается, если первый ничего не возвращает.
Второе состояниеmnt должно содержать необходимые данные, если ничего не перенастроено из источника.Вы могли бы также использовать некоторую логику DataStage в дополнение к этому (всякий раз, когда ID = 2)
Надеюсь, это поможет