Ogólnie, jeśli musisz zwrócić pusty wiersz...
Jeśli oryginalne zapytanie to
select a,b,c from tbl
Możesz zmienić to w podzapytanie
select t.a,t.b,t.c
from (select 1 as adummy) a
left join (
select a,b,c from tbl -- original query
) t on 1=1
Dzięki temu zapytanie zawsze będzie miało co najmniej jeden wiersz.