sql多属性连接

时间:2016-04-21 19:14:18

标签: sql sqlplus

我正在创建一个关于医疗实践的测试数据库。这是我的图表的图片以供参考。 ER diagram

所以基本上我的问题是如何正确地进行连接。我试图给出一个从给定练习中看到的患者列表(例如练习ID 1),但我也想展示练习名称和细节。我还想展示一份患者和gp工作或参加过这种练习的清单(请记住,我只用10行测试数据填充了我的表格)

我到目前为止

select patient.firstname, patient.surname
from patient
Join appointment on patient.patientid = appointment.patientid
where appointment.practiceid IN (1)
ORDER BY firstname;

`我如何也包括与此练习相关的练习细节和gp细节。令我困惑的是,如果他们不是来自患者表,我将如何添加更多选择语句。任何帮助都会很棒!

3 个答案:

答案 0 :(得分:0)

我已经包含了如何在查询中显示Practice_Name,如果您对提到的其他每个查询都使用相同的连接逻辑方法,那么您将完成它。我认为这是一种更好的学习方式,而不是在一个答案中解决上述每个问题。

SELECT    PR.Practice_Name, P.firstname, P.surname
FROM      patient AS P
            INNER JOIN appointment AS A ON P.patientid = A.patientid
            INNER JOIN Practice AS PR ON A.practiceid = PR.practiceid
WHERE     A.practiceid IN (1)
ORDER BY  P.firstname;

答案 1 :(得分:0)

您只需添加更多sum()条款:

int

答案 2 :(得分:0)

我喜欢别名我的SQL语句。节省打字。

  <cfset form.password  = Hash(Form.password, "SHA") > 
   <!--- Insert the new record ---> 
  <cfinsert datasource="mydatasource" tablename="Users"> 

 <h1>User Added</h1> 
 <cfoutput> You have added #Form.name#       #Form.email# to the testdb database. 
</cfoutput>