Я бы подумал, что вы получите ошибку из этого, а не из всех данных, но, возможно, Reports делает что-то странное в этом сценарии.В любом случае, похоже, что вам просто нужно заключить переданное значение в одинарные кавычки, которые вам нужно будет экранировать;поэтому вместо этой строки:
:(P)Company_id:= ' and a.id ='||:(V)Company_id;
используйте:
:(P)Company_id:= ' and a.id = ''' || :(V)Company_id || '''';
, хотя было бы лучше, если бы вы могли сохранить его как переменную связывания.Я не знаком с отчетами, но что-то вроде этого может работать:
select *
from company A
join seller B
on a.id = b.id
where &(V)Company_id is null or a.id = &(V)Company_id
(я также переключился на синтаксис соединения ANSI ...)