一部の行をSQL Serverの列に変換しようとしていますが、結合されたテーブルがすべて混乱しています。私はCASEまたはPIVOTをどこに追加するかわからない。SQL Server:結合されたテーブルを持つ列に一部の行を変換する
DECLARE @BeginDateTime DATETIME
DECLARE @EndDateTime DATETIME
SET @BeginDateTime = '20170901'
SET @EndDateTime = '20170922'
SELECT DISTINCT
CONVERT(VARCHAR(10), BILL_TABLE.srvc_thru_dt, 101) AS DischargeDate, PATIENT_TABLE.[Master Patient ID] AS MedRec, PATIENT_TABLE.[Hospital #] AS VisitID, LOCATION_TABLE.loc_ds AS Location, PERSON_TABLE.lst_nm AS LastName, PERSON_TABLE.fst_nm AS FirstName, CONVERT(VARCHAR(10), PATIENT_TABLE.[Date of Birth], 101) AS DOB, PATIENT_TABLE.ZIP, DIAGNOSIS_TABLE.ICD9_diag_ty + CONVERT(VARCHAR(10),DIAGNOSIS_TABLE.ICD9_rank_no) AS DxRank, CODING_TABLE.icd9_code AS Dx
FROM BILL_TABLE INNER JOIN
PATIENT_TABLE ON BILL_TABLE.vst_int_id = PATIENT_TABLE.[Visit #] INNER JOIN
PERSON_TABLE ON PATIENT_TABLE.psn_int_id = PERSON_TABLE.psn_int_id LEFT OUTER JOIN
LOCATION_TABLE ON PATIENT_TABLE.loc_lvl_5_id = LOCATION_TABLE.loc_int_id LEFT OUTER JOIN
DIAGNOSIS_TABLE ON PATIENT_TABLE.[Visit #] = DIAGNOSIS_TABLE.vst_int_id LEFT OUTER JOIN
CODING_TABLE ON DIAGNOSIS_TABLE.icd9_int_id = CODING_TABLE.icd9_int_id
WHERE (bil_cre_dt >= @BeginDateTime) AND
bil_cre_dt < @EndDateTime AND
srvc_cd_int_id IN (20329, 21912, 20332, 20333, 20335, 20337, 20339, 20340, 20341, 20343) AND
DIAGNOSIS_TABLE.ICD9_diag_ty != 'A'
これは私に次のような結果が得られます。
DischargeDate | MedRec | VisitID | Location | LastName | FirstName | DOB | ZIP | DxRank | Dx
---------------|--------|---------|----------|----------|-----------|-----------|-------|--------|------
09/20/2017 | 12345 | 111100 | 203 | TESTER | JEFF | 01/01/1984| 90210 | P1 | 4005A
09/20/2017 | 12345 | 111100 | 203 | TESTER | JEFF | 01/01/1984| 90210 | S2 | R42
09/20/2017 | 12345 | 111100 | 203 | TESTER | JEFF | 01/01/1984| 90210 | S3 | E860
09/21/2017 | 23456 | 111101 | 205 | TESTER | BILL | 02/02/2007| 45321 | P1 | N390
私は結果がこのように見える必要があります。
DischargeDate | MedRec | VisitID | Location | LastName | FirstName | DOB | ZIP | P1 | S2 | S3
---------------|--------|---------|----------|----------|-----------|-----------|-------|------|------|-------
09/20/2017 | 12345 | 111100 | 203 | TESTER | JEFF | 01/01/1984| 90210 |4005A | R42 | E860
09/21/2017 | 23456 | 111101 | 205 | TESTER | BILL | 02/02/2007| 45321 |N39 | NULL| NULL
正確には.. SQL Serverまたは私のSQLを使用して..? –
これはSQL Serverです。 – 4TDs1Game