我正在嘗試解除數據傳輸,但得到了一些奇怪的結果。我怎樣才能做到這一點?如何在SQL Server中UNPIVOT表?
下面是我的代碼和結果的截圖。 (SQL Fiddle)
select distinct recId, caseNumber, servtype, mins
from
(
select
recid
,caseNumber
,[preEnrollment_type]
,[preEnrollment_minutes]
,[screening_type]
,[screeningEnA_minutes]
,[ifsp_type]
,[ifsp_minutes]
from
CaseManagementProgressNote
where
[formComplete]=1
and [reviewed]<>1
and [dataentry]<>1
and [caseManagementEntry]=1
and [serviceCoordinator] <> '[email protected]'
and [contactDateTime] >= '1/1/2015'
and [childID] is not null
) as cp
unpivot
(
servType for servTypes in ([preEnrollment_type],[screening_type],[ifsp_type])
) as up1
unpivot
(
mins for minutess in ([preEnrollment_minutes],[screeningEnA_minutes],[ifsp_minutes])
) as up2
order by
recId
頂部分是奇怪unpivot
ED數據和底部部分是實際的表。
正如你可以在unpivot
ED數據看出,[column]_type
重複兩次,並有不正確的對應值。
我需要
1439 964699 -NA- null
1439 964699 SC 45
1439 964699 TCM FF 20
採取也考慮到我還有更多的列選擇。
這是我用mssqltips
的例子的SQL Fiddle高於參考。
如果您添加了SQL小提琴,那麼您很有可能會得到有用的答案。 –
添加了SQL小提琴:) – esausilva