首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql多属性连接

sql多属性连接
EN

Stack Overflow用户
提问于 2016-04-22 03:14:18
回答 3查看 34关注 0票数 2

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

所以基本上我的问题是如何正确地进行连接。我试图给出一个给定实践的患者列表(例如,practice id1),但我也想显示实践的名称和详细信息。我还想显示一个病人和全科医生的列表,这些病人和全科医生工作或曾经去过那个诊所(请记住,我只用10行测试数据填充了我的表)

到目前为止,我已经得到了

代码语言:javascript
复制
select patient.firstname, patient.surname
from patient
Join appointment on patient.patientid = appointment.patientid
where appointment.practiceid IN (1)
ORDER BY firstname;

‘我如何还包括与此实践相关的实践详细信息和gp详细信息。让我感到困惑的是,如果select语句不是来自患者表,我如何添加这些语句。任何帮助都是最好的!

EN

回答 3

Stack Overflow用户

发布于 2016-04-22 03:20:42

我已经介绍了如何在查询中显示Practice_Name,如果您对提到的每个其他查询都使用相同的联接逻辑方法,您将会解决这个问题。我认为这是一种更好的学习方法,而不是在一个答案中解决上面的所有问题。

代码语言:javascript
复制
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;
票数 0
EN

Stack Overflow用户

发布于 2016-04-22 03:20:52

您可以只添加更多的join子句:

代码语言:javascript
复制
SELECT   patient.firstname, patient.surname, practice.name, practice.address
FROM     patient
JOIN     appointment ON patient.patientid = appointment.patientid
JOIN     practice ON appointment.practiceid = practice.practiceid
WHERE    appointment.practiceid IN (1)
ORDER BY firstname;
票数 0
EN

Stack Overflow用户

发布于 2016-04-22 03:23:09

我喜欢给SQL语句加上别名。节省键入时间。

代码语言:javascript
复制
SELECT p.firstname, p.surname, pr.Details
FROM patient p
JOIN appointment a ON p.patientid = a.patientid
JOIN Practice pr ON pr.PracticeId = a.PracticeId 
WHERE a.practiceid IN (1)
ORDER BY p.firstname;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36778527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档