• 1000 *
TblActual :=select Actual."AcctCode",Actual."Project",sum(Actual."DocTotal")
from Actual
group by Actual."AcctCode",Actual."Project";
TblBuget := Select Budget."AcctCode",Budget."PrjCode",Sum(Budget."DocTotal")
Form Budget
Group by Budget."AcctCode",Budget."PrjCode";
Select
Project."PrjCode",Account."AcctCode",Account."AcctName",
:TblActual."Amount" as "Actual",:TblBuget."Amount" as "Budget"
From Account
Full outer Join :TblActual on Account."AcctCode" = :TblActual."AcctCode"
Full outer Join :TblBuget on Account."AcctCode" = :TblBuget."AcctCode"
Left Join Project on (:TblActual."Project"= Project."PrjCode" and :TblBuget."PrjCode" = Project."PrjCode" )
where Project."PrjCode"= xxx;
Если мне нужно отфильтровать по проекту, я получил только учетные записи, в обеих таблицах которых есть проект и код учетной записи. Но есть некоторые учетные записи в таблице бюджета с этим кодом проекта, но не в реальной таблице, и некоторые учетные записи находятся в таблице фактических данных с этим кодом проекта, а не в таблице бюджета.
Мне нужно получить все эти данные без дублирования код аккаунта. Как это сделать?