다음 쿼리는 기본적으로 피벗 테이블에서 3 개의 테이블을 결합하여 StaffReference 코드, StaffCode 및 헤더를 WipAmount로 표시합니다. 이 코드는 기본적으로 올바르게 실행되지만 모든 필드가 NULL 인 열은 표시하지 않으려 고합니다. 열이 NULL 값의 전체 인 경우피벗 테이블에 Null 값이있는 열 억제
-------aea-----fum
ejh--10.00----6.00
fum---5.00----null
aea---null-----7.00
기본적으로,이 보고서를 현재 출력 내가 무엇을 필요
--------ejh -----aea-----fum
ejh----null----10.00----6.00
fum---null-----5.00-----null
aea---null-----null-----7.00
예를 무엇
예를 읽기 쉽도록합니다 , 내가 가지고있는 쿼리는 다음과 같다. 이 쿼리는 올바르게 작동하고 모든 데이터를 표시합니다.
DECLARE @sql varchar(MAX)
DECLARE @columns TABLE (COL varchar(50))
declare @columnscsv varchar(MAX)
insert into @columns
select distinct StaffCode from tblStaff
select @columnscsv = COALESCE(@columnscsv + '],[','') + COL from @columns
set @columnscsv = '[' + @columnscsv + ']'
SET @sql = 'Select StaffReference ' + @columnscsv + '
FROM(SELECT ocr.staffcode, em.StaffReference, WipAmount FROM tblTranWip w
Join tblengagement e on e.contindex = w.contindex
Join tblstaff ocr on ocr.staffindex = e.clientpartner
Join tblstaff em on em.staffindex = e.clientmanager
WHERE (w.WIPDate>={ts ''2013-04-01 00:00:00''}
AND w.WIPDate<{ts ''2014-03-31 00:00:01''})
AND w.TransTypeIndex=1 AND w.ContIndex<900000
) as a
PIVOT (SUM(WipAmount) for StaffCode in (' + @columnscsv + ')) AS PVT
Order by StaffReference'
EXEC (@sql)
쿼리를 테스트 할 수 있도록 일부 행이있는 샘플 테이블을 넣을 수 있습니까? –
예 오늘 밤 샘플 표를 추가하겠습니다. 미안 나는 도시에 있었고, 되돌아 갈 수 없었다. 아직 아이디어 없으세요? – andres