1
我試圖加入兩個表,以便StaffAll表是行並且Checks表是列。繼承人的數據的彙總:將額外的列添加到樞軸加入
StaffAll
-----------------------------------
| PeronsID | FirstName | LastName |
-----------------------------------
| 10001 | James | Smith |
-----------------------------------
| 10002 | David | Collins |
-----------------------------------
| 10003 | Sarah | Brown |
-----------------------------------
Checks
------------------------------
| CheckID | PersonID | CheckTypeID | CheckDate | CheckExpiry | CheckData |
----------------------------------------------------------------------------
| 100001 | 10001 | CONR | 01/08/14 | 01/08/14 | "A string" |
----------------------------------------------------------------------------
| 100002 | 10001 | DBSC | 01/08/14 | 01/08/14 | BC5645646 |
----------------------------------------------------------------------------
| 100003 | 10002 | CONR | 01/08/14 | 01/08/14 | "Text abc" |
----------------------------------------------------------------------------
| 100004 | 10003 | DBSC | 01/08/14 | 01/08/14 | KG1215446 |
----------------------------------------------------------------------------
這就是我想要產生
People_Checks
------------------------------
| PersonID | LastName | CONR | CONR_Data | DBSC | DBSC_Data |
---------------------------------------------------------------------------
| 10001 | Smith | 01/08/14 | "A String" | 01/08/14 | BC5645646 |
----------------------------------------------------------------------------
| 10002 | Collins | 01/08/14 | "Text abc" | NULL | "NULL |
---------------------------------------------------------------------------
| 10003 | Brown | NULL | NULL | 01/08/14 | KG1215446 |
---------------------------------------------------------------------------
我已經成功地使用PIVOT以創建每個CheckTypeID列:
WITH SCSR AS (
SELECT
S.PersonID,
S.FirstName,
S.LastName,
C.CheckDate,
C.CheckTypeID AS CheckTypeID
FROM
dbo.StaffAll S
INNER JOIN dbo.Checks C
ON S.PersonID = C.PersonID
)
SELECT *
FROM
SCSR
PIVOT (MAX([CheckDate]) FOR [CheckTypeID] IN ([APPF], [CONR], [CONS], [CPCS], [DBSC], [DISQ], [EMPH], [FAID], [IDEN], [LIST],[MEDI],[MNDQ],[OFFR],[OFFS],[POLI],[PROH],[QUAL],[REF1],[REF2],[RISK],[SRTC],[WORK])) TT;
無論如何,從檢查表中添加額外的PIVOT列。我想從Checks中包含CheckData列。