[PATIENT_ID],[Name],...,[T1],[T2],[T3]...... (the T? are test names (in abbreviations) dynamically added to table) ------------------------------------------------01, John,.....,1,2,0,.....02, Jake,.....,0,2,0,.....03, Joe,.....,2,2,2,.....04, Jane,.....,1,2,1,...............
.....,[TEST_DESC],[ABBR],......-----------------------------------.....,Test name 1,T1,...............,Test name 2,T2,...............,Test name 3,T3,....................................
[PATIENT_ID],[Name],[TEST_DESC],[RESULT]-----------------------------------------------------01,John,Test name 1,101,John,Test name 2,201,John,Test name 3,0..........................02, Jake,Test name 1,002, Jake,Test name 2,202, Jake,Test name 3,0...........................
-- First table includes test results (T? columns will be dynamically changed)DECLARE @TABLE1 TABLE(P_ID VARCHAR(2), P_NAME VARCHAR(10), T1 INT, T2 INT, T3 INT)INSERT INTO @TABLE1 (P_ID, P_NAME, T1, T2, T3) VALUES ('01','John',1,2,0)INSERT INTO @TABLE1 (P_ID, P_NAME, T1, T2, T3) VALUES ('02','Jake',2,0,2)INSERT INTO @TABLE1 (P_ID, P_NAME, T1, T2, T3) VALUES ('03','Joe',0,1,2)--Second table contains definitions and parameter information for each testDECLARE @TABLE2 TABLE(T_DESC VARCHAR(20), T_ABB VARCHAR(3) )INSERT INTO @TABLE2 (T_DESC, T_ABB) VALUES ('Test1', 'T1') INSERT INTO @TABLE2 (T_DESC, T_ABB) VALUES ('Test2', 'T2') INSERT INTO @TABLE2 (T_DESC, T_ABB) VALUES ('Test3', 'T3')
01,John,Test1,101,John,Test2,201,John,Test3,002,Jake,Test1,202,Jake,Test2,002,Jake,Test3,203,Joe,Test1,003,Joe,Test2,103,Joe,Test3,2