У меня есть этот запрос: с КТР вфункция Pivot в SQL и сумма строк
(
Select distinct
Account,
Avg(TotalME_AUA)over (partition by sub.account) as avgAUA
from
(
SELECT Distinct wf_pm_asset_db.account,
Sum(wf_pm_asset_db.me_aua) OVER(PARTITION by wf_pm_asset_db.account, wf_pm_asset_db.yearmonth) AS TotalME_AUA, wf_pm_asset_db.yearmonth
FROM wf_pm_asset_db
WHERE (((wf_pm_asset_db.yearmonth) > '201512'))
and wf_pm_asset_db.account in ('XXXXX0E','XXXXX0F','XXXXX0G', 'XXXXX0H')
GROUP BY wf_pm_asset_db.account , wf_pm_asset_db.yearmonth, me_aua
) sub
group by Account ,totalME_AUA, sub.account,TotalME_AUA
)
Select distinct CASE
WHEN (LTRIM(RTRIM(ISM_HH_KEY)) <> '')--OR --(LTRIM(RTRIM(v.ISM_HH_KEY)) IS NOT NULL)
THEN LTRIM(RTRIM(ISM_HH_KEY))
ELSE LEFT(LTRIM(RTRIM(WF_PM_ACCT_det_DB.ACCOUNT)), 6)
END AS 'HH',
CTE.account,
SUM(AvgAUA) as 'Avg_AUA'
FROM CTE
left join wf_pm_acct_det_db
on CTE.account = wf_pm_acct_det_db.Account
Group By wf_pm_acct_det_db.ISM_HH_Key, LEFT(LTRIM(RTRIM(WF_PM_ACCT_det_DB.ACCOUNT)), 6), cte.account
и результаты выглядят следующим образом:
HouseID Account number Balance
HHID Account 1 627.01
HHID Account 2 829633.1317
HHID Account 3 0
HHID Account 4 -771703.1858
я хочу выход, где я получаю это:
HouseID Account 1 Account 2 Account 3 Account 4 Total
HHID 627.01 829633.1317 0 -771703.1858 58556.95583
я попробовал поворотное с:
Select distinct CASE
WHEN (LTRIM(RTRIM(ISM_HH_KEY)) <> '')--OR --(LTRIM(RTRIM(v.ISM_HH_KEY)) IS NOT NULL)
THEN LTRIM(RTRIM(ISM_HH_KEY))
ELSE LEFT(LTRIM(RTRIM(WF_PM_ACCT_det_DB.ACCOUNT)), 6)
END AS 'HH',
account,
SUM(AvgAUA) as 'Avg_AUA'
From CTE
FROM CTE
left join wf_pm_acct_det_db
on CTE.account = wf_pm_acct_det_db.Account
Pivot
(
SUM(AvgAUA)
for CTE.account in (account1, account2)
) as PT
однако я получаю ошибки. может ли кто-нибудь посоветовать, как это сделать. Я использую SQL-сервер 2012
Является ли номер счета один или два поля? –