begin
NACE_ID = INNACEID;
select
Code
from
Nace N
where
N.ID = :InNaceid
into
:NACE_Code;
if (:withemployeecount in ('1','A')) then
begin
select
Sum(C.MeanValue) as TotalAmount,
Count(A.ID) as FirmCount,
Sum(E.MeanValue) as SumEmployeeCount
from
Firms A
join Nace N on N.ID = A.MainNACECode_ID
join FinancialCategories C on A.TurnOver_ID = C.ID
join EmployeeCountCategories E on A.EmployeeCount_ID = E.ID
where
A.Hidden = 'N' and
A.MainNACECode_ID = :InNACEID and
(
(A.ID in (select OBJ_ID from SELDAT where SEL_ID = :InFirmSelID)) or
(
((:InFirmSelID = '') or (:InFirmSelID is null)) and
((A.Firm_ID = '') or (A.Firm_ID is null))
)
) and
(A.EmployeeCount_ID is not null) and
(A.TurnOver_ID is not null)
into
:TotalAmount,
:FirmCount,
:SumEmployeeCount;
end
else
begin
select
Sum(C.MeanValue) as TotalAmount,
Count(A.ID) as FirmCount
from
Firms A
join Nace N on N.ID = A.MainNACECode_ID
join FinancialCategories C on A.TurnOver_ID = C.ID
where
A.Hidden = 'N' and
A.MainNACECode_ID = :InNACEID and
(
(A.ID in (select OBJ_ID from SELDAT where SEL_ID = :InFirmSelID)) or
(
((:InFirmSelID = '') or (:InFirmSelID is null)) and
((A.Firm_ID = '') or (A.Firm_ID is null))
)
)
into
:TotalAmount,
:FirmCount;
end
suspend;
end