日期:2014-05-16  浏览次数:20659 次

新手深夜求助
想要查询出在2012-01-01到2013-12-31这个时间段内有那些团体这些团体的那些人做了hpv这个项目,把这些人按照单位查询出来。
所有需要的字段数据都在PeisPatient表和PeisPatientExamItem 表里,应该如何编写查询语句求前辈贴出。
下面是这两张表的表结构
PeisPatient表

ID_Patient int PK, 自增长, 体检号
PatientCode varchar (50) 体检代码
NumOrg int NULL 团体编号
NumOrgResv int NULL 任务编号
PatientName varchar (30) 姓名
ID_OrgReservationGroup int NULL FK, 分组ID
ID_OrgReservation int NULL FK, 预定任务ID
ID_Org int NULL FK, 团体ID
Org_Name varchar (50) 团体名称
Payway varchar (20) 支付方式
ID_Sex int NULL FK, 性别ID
Sex varchar (8) 性别
BirthDate datetime NULL 出生日期
Age int NULL 年龄
AgeOfReal numeric(18 5) NULL 实数年龄
ID_Marriage int NULL FK, 婚姻ID
Marriage varchar (4) 婚姻
ID_PatientClass int NULL FK, 体检者类型ID
ID_Occupation int NULL FK, 职业ID
Occupation varchar (20) 职业
F_IsForPrepare bit NOT NULL 预定
F_IsForReserve bit NOT NULL 预约
DateCreated datetime NULL 记录创建时间
F_Registered bit NOT NULL 已登记
DateRegister datetime NULL 登记时间
JobType_Code varchar (6) 工作类型编码
ID_ExamType int NULL FK, 体检类型ID
ID_ExamSuite int NULL 体检类型
ExamSuite_Name varchar (50) 套餐名称
F_ExamStarted bit NOT NULL 已开始体检
F_ReadyToFinal bit NOT NULL 分检完成
F_FinalLocked bit NOT NULL 总检锁定
F_FinalExamed bit NOT NULL 总检完成
F_FinalApproved bit NULL 总审完成
DoctorFinal_Name_R varchar (12) 总检医生
DateFinalExamed smalldatetime NULL 总检时间
DateReportFetched smalldatetime NULL 报告领取日期
SevereDegree int NULL 重症级别
Conclusion text 综述
ConclusionSummary text 结论

PeisPatientExamItem 表
ID_PatientExamItem int PK, 自增长
ID_PatientExamDepart int NULL FK, 体检者检查分科ID
ID_PatientFeeItem int NULL FK, 体检者收费项目ID
ID_ExamFeeItem int NULL FK, 收费项目ID
ID_ExamItem int NULL FK, 检查项目ID
ExamItem_Name_R varchar (50) 检查项目名称(冗余)
ID_Bodypart int NULL FK, 检查部位ID
Bodypart_Name_R varchar (50) 检查部位名称(冗余)
ID_ExamItemValue int NULL FK, 检查体检描述ID
SevereDegree int NULL 重症级别
ExamItemValues text 检查项目体征词
ExamItemValuesText text 检查项目体征: 描述
ExamItemValuesShort varchar (60) 检查项目体征: 简单描述
ExamItemValuesNumber float NULL 检查项目体征: 数字
LabItemFlag varchar (10) 检查项目标志
------解决方案--------------------
你的两个表之间是哪个字段关联的?

我看PeisPatientExamItem 表,应该是上面那个表的子表。可是找不到关联的PeisPatientID

------解决方案--------------------
你的PeisPatientExamItem这个表缺少PatientCode这个字段,否则两张表关联不起来


select * from PeisPatient 
where PatientCode exists(select 1 from PeisPatientExamItem where ExamItem_Name_R='hpv')
and DateFinalExamed between '2012-01-01' and '2013-12-31'

------解决方案--------------------
是不是还有一个对应关系表呢