2013-11-11 5 views
0

Я получаю значение счета и сумму в двух разных центрах. Просьба указать, как выполнить обе функции в одном запросе.Как присоединиться к двум опорным точкам в SQL Server 2012

Count Pivot:

SELECT * FROM (
SELECT ClaimValue, CurrentBalance, AgeBucket 
FROM AR_Claim_Master 
WHERE ClientName = 'NXT' 
) m 
PIVOT (
COUNT(CurrentBalance) 
FOR AgeBucket IN ([0-30],[31-60],[61-90],[91-120],[121-210],[>210]) 
) n 

Сумма Pivot:

SELECT * FROM (
SELECT ClaimValue, CurrentBalance, AgeBucket 
FROM AR_Claim_Master 
WHERE ClientName = 'NXT' 
) m 
PIVOT (
SUM(CurrentBalance) 
FOR AgeBucket IN ([0-30],[31-60],[61-90],[91-120],[121-210],[>210]) 
) n 

Я хочу, чтобы результат, как это изображение. Пожалуйста, помогите мне. enter image description here

ответ

0

достигнуто это через ниже запрос ...

select m1.ClaimValue, 
m1.[0-30] [0-30c], n1.[0-30][0-30v], 
m1.[31-60] [31-60c], n1.[31-60] [31-60v], 
m1.[61-90] [61-90c], n1.[61-90] [61-90v], 
m1.[91-120] [91-120c], n1.[91-120] [91-120v], 
m1.[121-210] [121-210c], n1.[121-210] [121-210v], 
m1.[>210] [>210c], n1.[>210] [>210v] 
from (
SELECT * 
FROM (
SELECT ClaimValue, CurrentBalance, AgeBucket 
FROM AR_Claim_Master 
WHERE ClientName = 'NXT' 
) m 
PIVOT (
COUNT(CurrentBalance) 
FOR AgeBucket IN ([0-30],[31-60],[61-90],[91-120],[121-210],[>210]) 
) n 
) m1 
join 
(
SELECT * 
FROM (
SELECT ClaimValue, CurrentBalance, AgeBucket 
FROM AR_Claim_Master 
WHERE ClientName = 'NXT' 
) m 
PIVOT (
SUM(CurrentBalance) 
FOR AgeBucket IN ([0-30],[31-60],[61-90],[91-120],[121-210],[>210]) 
) n 
) n1 

on m1.ClaimValue = n1.ClaimValue 
order by m1.ClaimValue 
Смежные вопросы