用于从逗号分隔值生成报告的存储过程?
Stored Procedure for generating report from comma separated values?
我的场景如下:
我的个人资料table如下
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)
我还有 table 来存储每个配置文件的不同条件,如下所示:
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)
此 table 中每条记录的数据存储如下:(样本)
False 10,12, 119, 138, 145,147,149,
它只是将条件 id 的 id 存储为逗号分隔值。有一个 master table 存储与每个 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
我该怎么做?
也许这个 T-SQL split string 功能对你有用。
您可以加入返回到 condition/medication 查找 table 的 table。
我的场景如下:
我的个人资料table如下
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)
我还有 table 来存储每个配置文件的不同条件,如下所示:
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)
此 table 中每条记录的数据存储如下:(样本)
False 10,12, 119, 138, 145,147,149,
它只是将条件 id 的 id 存储为逗号分隔值。有一个 master table 存储与每个 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
我该怎么做?
也许这个 T-SQL split string 功能对你有用。
您可以加入返回到 condition/medication 查找 table 的 table。