Ada beberapa cara sederhana hanya menggunakan sql.
Tetapkan kueri pertama Anda sebagai tabel sementara, dengan menyatukan semua, filter kueri kedua dengan jumlah tabel sementara.
with temp as (select * from t1 where 1=0)
select * from temp
union all
select * from t2 where (select count(*) from temp) =0
Kueri ini akan mengembalikan catatan tabel kedua.
with temp as (select * from t1 )
select * from temp
union all
select * from t2 where (select count(*) from temp) =0
Dan jika kueri temp memiliki hasil, hanya kembalikan kueri sementara.
Anda dapat menguji dengan sql fiddle di sini .