1
私はStaffAllテーブルが行であり、チェックテーブルが列であるように2つのテーブルを結合しようとしています。相続人は、データの要約:これは私がPIVOT結合に余分な列を追加する
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 |
---------------------------------------------------------------------------
を生成しようとしているものです
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 |
----------------------------------------------------------------------------
は、私は、各CheckTypeIDの列を作成するために、PIVOTを使用するために管理してきました:
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;
Checksテーブルから余分なPIVOT列を追加する方法はありますか。 ChecksのCheckData列も含めたいと思います。