2015-12-08 25 views
0

我有两个表:SQL表中选择

  • Patients,我已经patient_ID作为主键和其他细节。

  • Patients_Treatments其中我有来自患者的patient_ID作为外键,treatment_code和其他列。

我要求查找具有相同treatment_code的病人,其ID为999

所有患者的治疗码我坐在两天试图找到一个解决方案,我只是”设法想到一些事情。看起来很简单,但我找不到解决方案。谢谢!

例子:

enter image description here

预期的输出是细节(详细意味着姓,名,患者ID):塔尔沙洛姆丹Shabtay埃拉德梁咏琪

+0

请解释*常规SQL *是什么。这是SQL Server吗?甲骨文?还有别的吗? – Siyual

+0

你可以添加样本表数据和预期的结果到你的问题?向我们展示您当前的查询尝试,并告诉我们它有什么问题? (学校派遣?) – jarlh

+0

请张贴一些样本数据,然后只有我们可以给你的解决方案,您可以在您的要求执行 – mohan111

回答

0

如果您正在寻找共享Treatment_Code属于Patient_Id: 999的患者的Treatment_CodePatient信息,这应该为您提供以下结果:

Select T.Treatment_Code, P.First_Name, P.Last_Name, P.Patient_Id 
From Patients_Treatments T 
Join Patients   P On P.Patient_Id = T.Patient_Id 
Where T.Patient_Id In 
(
    Select T1.Patient_Id 
    From Patients_Treatments T 
    Join Patients_Treatments T1 On T1.Treatment_Code = T.Treatment_Code 
            And T1.Patient_ID <> T.Patient_Id 
    Where T.Patient_Id = 999 
)