SQL在两个表中有一列

时间:2014-04-10 06:41:34

标签: mysql sql phpmyadmin

我正在尝试创建一个表格,显示有关患者的治疗信息(虽然我只是想知道在一个虚构的医院中是否会更好)。这个想法是可以用一行来为参加护士打印信息表。

我想让attending_doctor列包含与employee_id对应的名称。

|Patient_ID|Employee_ID|Attending_Doctor|Condition|Treatment|future_surgery| 

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

只需在查询中使用联接,而不是在2个表中使用员工姓名(这意味着如果更改名称等,则在多个位置进行更新)。为了举例,这也从名为患者的第3个表中获取患者姓名。

例如

SELECT table1.*, employees.name, patients.name 
  FROM table1
  LEFT JOIN employees ON employees.id = table1.employeeId
  LEFT JOIN patients ON patients.id = table1.patientsId

答案 1 :(得分:0)

不要直接使用此表,而是构建包含所需数据的视图。然后,您可以从视图中获取数据,就像它是一个表格一样。

基本上您需要的是在三个表中包含数据。一个表为患者,一个表为员工,一个为报告。包含报告的表应仅包含employee_ID。然后,您可以在这三个表上构建直接查询,也可以构建一个隐藏复杂查询的视图。