从一个表中获取一列并从ID

时间:2015-12-09 14:50:48

标签: mysql inner-join

我有一个正在运行的查询但是却错过了错误的数据。它通过两个doc_id列,但我只需要一个。我只需要一张桌子的姓氏通过patient_id加入另一张桌子。两个表都包含patient_id,因此加入它们不应该太糟糕,但我不知道如何获得一列。

这是我的问题:

SELECT * FROM requested_appointments 
INNER JOIN patient_info ON  
       requested_appointments.patient_id=patient_info.patient_id 
WHERE requested_appointments.booked_status='N';

此查询会生成以下图像:enter image description here

正如您所看到的,它从两个表中拉出doctor_id。在我的网页上,它显示的是patient_info表格doctor_id,而不是requested_appointment doctor_id。所以基本上我需要从patient_info表中获取姓氏和名字,并将其加入到请求的appointment table

希望这是有道理的,有人可以帮助我!

3 个答案:

答案 0 :(得分:1)

您可以使用更精确的选择和别名表名称,这不是经过测试,但有些事情是这样的。

SELECT ra.doctor_id, pi.surname, pi.forename FROM requested_appointments ra INNER JOIN patient_info pi ON ra.patient_id=pi.patient_id WHERE ra.booked_status='N';

答案 1 :(得分:1)

SELECT ra.*,  pi.surname, pi.forename 
FROM requested_appointments ra
INNER JOIN patient_info pi USING(patient_id)
WHERE ra.booked_status='N';

答案 2 :(得分:1)

您可以在select子句中使用限定符到doctor_id列。喜欢前。 requested_appointments.doctor_id,patient_info.surname,patient_info.firstname。如果您有多个具有相同字段的表,则区分列的方式是限定符。您还可以通过以下方式为表添加别名:

从TABLE_A中选择myTable。*作为myTable;