我有一个正在运行的查询但是却错过了错误的数据。它通过两个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';
正如您所看到的,它从两个表中拉出doctor_id
。在我的网页上,它显示的是patient_info
表格doctor_id
,而不是requested_appointment
doctor_id
。所以基本上我需要从patient_info
表中获取姓氏和名字,并将其加入到请求的appointment table
。
希望这是有道理的,有人可以帮助我!
答案 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;