Сначала я попытался немного переформатировать ваш код. Кажется, то, что вы описываете, должно работать нормально. Я полагаю, вы пробовали что-то вроде этого:
select 1 as status, 1 pid, 'Fehlermeldungen' as titel, null as icon, '1' as value,
NULL as tooltip, NULL as link from dual
union
select -1 as status, 2 pid, k.kname as titel, NULL as icon, k.knr||'0' as value,
NULL as tooltip, NULL as link from kunde k
where (select count(fmtext) from fehlermeldung f where f.knr = k.knr) > 0
union
select 0 as status, 3 pid, fmtext as titel, NULL as icon, k.knr||fmnr as value,
NULL as tooltip, null as link from kunde k, fehlermeldung f
where f.knr = k.knr
-- begin my new lines...
union
select 0 as status, 4 pid, 'blank' as titel, NULL as icon, '4' as value,
NULL as tooltip, null as link from dual
-- end my new lines...
order by 5
Возможно, вы вставили дополнительный SELECT не в то место? Покажите нам, что вы сделали, и вам будет легче устранять неполадки.