2012-11-27 4 views
0

몇 가지 SQL Server 2012 쿼리가 작동하지만이를 단일 결과 집합으로 결합하는 방법을 알 수 없습니다. 동일한 결과 집합에서 [Total Claims] 및 [Reversed Claims]를 인접한 열로보고 싶습니다. 이것이 가능한가?그룹화 된 두 개의 유사한 결과 집합을 어떻게 하나로 결합 할 수 있습니까?

select [Date], DATENAME(weekday, [Date]) as [Day], [Total Claims] 
from (Select [Date], count(*) as [Total claims] from ClaimHistoryView group by [Date]) 
as CountByDay 
order by [Date] desc 

select [Date], DATENAME(weekday, [Date]) as [Day], [Reversed Claims] 
from (Select [Date], count(*) as [Reversed Claims] from ClaimHistoryView where status = 2 group by [Date]) as CountByDay 
order by [Date] desc 

답변

1

비결은 데이터의 출처 후 선택 피벗을하고 위치를 나타내는 또 다른 열이있는 노조 모두 '를 사용하여 두 개의 쿼리를 결합하는 것입니다. 흠. (독일어 죄송합니다,) 복잡한 설명

이 너무 많은 트릭을

select [Date], 
     DATENAME(weekday, [Date]) as [Day], 
     sum(case when Source = 1 then value else 0 end) as [Total Claims], 
     sum(case when Source = 2 then value else 0 end) as [Reversed Claims] 
from 
(
    select 
     1 as source, 
     [Date], 
     count(*) as value 
    from ClaimHistoryView 
    group by [Date] 
union all 
    select 
     2 as source, 
     [Date], 
     count(*) as value 
    from ClaimHistoryView 
    where status = 2 
    group by [Date] 
) as CountByDay 
Group by [Date] 
order by [Date] desc 
+0

감사를해야한다. "2 소스"다음에 쉼표가 필요합니다. – Dave

+0

수정되었습니다. 감사합니다. – alzaimar

관련 문제