【发布时间】:2017-05-17 22:32:42
【问题描述】:
我什至不知道如何为我的问题命名或搜索什么来解决它,所以如果我没有正确描述它,请不要介意。
我有 3 张桌子:
患者(id,姓名,...)
检查(id、日期、patient_id*、备注)
诊断(id,诊断)
ExaminationDijagnose(id、diagnose_id*、examination_id*)
所以我想查询只有一个输入参数,即 ExamID(主键)。结果将是一行有列
(examination_id、日期、名称、诊断(数组)、注释)。
Diagnostics 列将是一个基于 Exam_id 外键的数组。
如果考试 id 是 10 就这样 诊断: 1 - 流感 2 - 高温
ExaminationDijagnose 将是 1 , 1 , 10 1、2、10
我需要输出看起来像这样 1(ExaminationID), date, patient_name(patient_id*), Array(Flu, High Temperature), notes)
那个数组是连接的,所以诊断期诊断。 “流感、高温、骨折等……
如果我描述得不好,再次抱歉。 谢谢
【问题讨论】:
-
当结果只有一行时,您希望如何在
diagnoses(array)中获得一个数组? -
您需要使用“JOIN”。您使用连接并设置关系。 SELECT person.* FROM Exam JOIN Patient ON Exam.patient_id = Patient.patient_id JOIN XXXX on ....
-
@dat3450 我想我现在解释得更清楚了。
-
所以诊断数组实际上是一个字符串,用逗号
,分隔项目。我已经更新了我的答案。
标签: mysql key foreign-key-relationship