У меня есть две таблицы, которые объединяются с внешним применением.У меня проблема в том, что я хочу рассчитать процент на основе значений из левой таблицы, т.е. таблицы А в приведенном ниже коде.
Пробуется как дополнительный выбор, но не работает из-за группировки по
Select
ISNULL(P.div,'GL')Div,
Right(T.Account,9)Account, FORMAT(T.Accounting_Date,'yyyy-MM') AS Period,
Round(Sum(T.Debit+T.Credit),2)Amount
,(
Sum((T.Debit+T.Credit))* 100 /
(Select Sum(T.Debit+T.Credit)
From TABLE_ A
Where Left(T.Account,4) = '9140'
Group by Left(T.Account,4)
)
) as Perc3nt
From TABLE_ A AS T
OUTER APPLY
( Select Vendor, Invoice, Amount,expense_account,Accounting_Date, Dist_Seq,
Case When Substring(Expense_Account,6,3) Between '200' and '300' Then 'RES'
When Substring(Expense_Account,6,3) >= '500' Then 'COM'
When Substring(Expense_Account,6,3) = '100' Then 'CORP'
End As Div
FROM TABLE_ B
Where T.Vendor = Vendor and T.AP_Invoice = Invoice and Left(T.Account,4) = '9140'
and T.Invoice_Dist_Seq = Dist_Seq
) AS P
Where Right(Account,9) IN ('1110.0130') and LEFT(T.Account,4) = '9140'
and T.Accounting_Date >= '03/01/19' and T.Accounting_Date <= '3/31/2019'
Group By ISNULL(P.div,'GL'),
Right(T.Account,9),
FORMAT(T.Accounting_Date,'yyyy-MM')