2015-04-30 106 views
0

我的方案是如下:從逗號分隔值生成報告的存儲過程?

我有一個配置文件表如下

ProfileID int 
FirstName varchar(50) 
LastName varchar(100) 
DateOfBirthDay varchar(100) 
DateOfBirthMonth varchar(100) 
DateOfBirthYear varchar(100) 
Gender varchar(100) 
Address1 varchar(100) 
Address2 varchar(100) 
City varchar(100) 
Province varchar(100) 
PostalCode varchar(100) 
PhoneNumber varchar(100) 
WorkNumber varchar(100) 
CellNumber varchar(100) 
EmailAddress varchar(100) 

我也有表來存儲下面的每個配置文件中的不同條件:

ProfileId int 
CurrentWeight float 
HeightUnit varchar(50) 
CurrentHeight float 
Occupation varchar(50) 
Conditions varchar(MAX) 
Medications varchar(MAX) 
Is_Pregnant bit 
Diseases varchar(MAX) 
Allergy_Food varchar(MAX) 
Supplements_Taken varchar(MAX) 
Programs_Attended varchar(MAX) 
Knowledge_Source varchar(MAX) 
DateOfPhysicalExam datetime 
MoreInformation varchar(MAX) 

數據存儲對於本表中的每條記錄如下:(樣本)

False 10,12, 119, 138, 145,147,149, 

它只是將條件ID的ID存儲爲逗號分隔值。這裏是存儲與如下每個ID關聯的值主表:

5 1 Conditions Organ transplant 
    6 1 Conditions Recent heart attack (within the last 6 months) A 
    7 1 Conditions Recent stroke (within the last 6 months) A 
    8 2 Medications Adderral 
    9 2 Medications Aptivus Aptivus A 
    10 2 Medications Atripla Atripla A 
    11 2 Medications Chloramphenicol 
    12 2 Medications Coumadin  
    13 2 Medications Crixivan  
................................. 

現在我需要使用存儲過程來提取每個客戶的情況下,藥物等個人資料一起創建報表....在格式如下:

id Name Age Occupation Diseases Medications Is_Preg Supplements_Taken 

10001 TestName 59 Office Asthma, Blood Pressure Heparin, Aptivus, Indocin False 

我該怎麼辦?

+0

你在問什麼? – Andrew

回答

1

也許這T-SQL split string函數將爲你工作。

您可以加入返回到條件/藥物查找表的表格。