2016-11-07 2 views
0

내 데이터베이스에서 이러한 종류의 데이터를 받았습니다.SQL 결과의 크로스 탭 데이터

enter image description here

는이 같은 결과를 보여줄 필요가 :

enter image description here

이 행할 크리스탈 리포트를 사용. 누군가가이 질문에 대한 도움을 줄 수 있기를 바랍니다.

+0

데이터가 3 일 밖에 없거나 날짜가 가변적 일 수 있습니까? –

+0

변수로 3 일만 샘플로 나타났습니다. –

+0

당신은 피벗 쿼리라고하는 것을 찾고 있습니다.하지만 아마도 당신의 경우에는 동적이어야합니다. –

답변

0

이것은 일반적으로 SQL을 사용하여 수행하는 것이 아니며 응용 프로그램에서 구현하는 것이 좋습니다. 하지만 다음과 같이 할 수 있습니다.

SELECT Item, 
    [01/01/2016 - Unique Emp ID] = Count(Distinct iif([Date] = Convert(date, '01-01-2016', [Emp ID], NULL)), 
    [01/01/2016 - Sum Qty] = Sum(iif([Date] = Convert(date, '01-01'2016', [Qty Bought], NULL)), 
    [02/01/2016 - Unique Emp ID] = Count(Distinct iif([Date] = Convert(date, '02-01-2016', [Emp ID], NULL)), 
    ... 
    FROM MyTable; 

단점은 열 제목이 고정되어 있다는 것입니다. 그래서 응용 프로그램에서이 작업을 수행해야합니다.