【问题标题】:MySql - Nested Select - How to select the value from the first tables?MySql - 嵌套选择 - 如何从第一个表中选择值?
【发布时间】:2018-11-10 21:52:26
【问题描述】:
**Table Doctor**       
*ID        Name       Other Value*
1         Jane           X
2         John           Y
3         Jame           Z

**Table Patient**
*ID        Name         Other Value*
1         Mary           A
2         Mark           B
3         Mel            C

**Table Appointment**
*ID        PatientID      DoctorID  OtherValue*
1             1             1          X
2             3             2          Y

**Table Exam**
*ID         ExamName*
1         Blood Exam
2         Pregnant Exam

**Table RequestExam**
*ID    AppointmentID   ExamID*
1          1             1
2          2             2

**Table ResultExam**
*ID       RequestExamID      OtherValues*
1              1                XYZA
2              2                ABCD

**Table DoctorDecision**
*ID       ResultExamID       OtherValues*
1             1                 Qwerty
2             2                 Asdfgh

我想知道我是否可以从最后一个表 (Table DoctorDecision) 中获取患者和医生的姓名?如何选择它?我正在尝试进行一些连接,但不确定是否可以从第一个表中获取值。

示例 - 我如何知道最后一个表中 ResultExamID = 1 的医生姓名、患者姓名和检查姓名?

【问题讨论】:

    标签: mysql sql database select


    【解决方案1】:

    这个查询应该给你你想要的信息:

    SELECT p.Name, d.Name, e.ExamName
    FROM DoctorDecision dd
    JOIN ResultExam re ON re.ID = dd.ResultExamID
    JOIN RequestExam qe ON qe.ID = re.RequestExamID
    JOIN Exam e ON e.ID = qe.ExamID
    JOIN Appointment a ON a.ID = qe.AppointmentID
    JOIN Patient p ON p.ID = a.PatientID
    JOIN Doctor d ON d.ID = a.DoctorID
    WHERE dd.ResultExamID = 1
    

    输出(用于您的样本数据)

    Name    Name    ExamName
    Mary    Jane    Blood Exam
    

    SQLFiddle上的演示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 2013-12-24
      • 2014-11-11
      • 1970-01-01
      • 2017-01-31
      • 2023-03-24
      相关资源
      最近更新 更多