我目前正在通过几个步骤实现这一目标,但如果我能通过一个查询找到我需要的东西会更好。我认为有可能使用连接和外键,但我无法弄清楚它们是如何一起工作的。
无论如何,我有两个表doctors
和appointments
,一个列与外键相关联(fk doctor_id
,在id
中引用doctors
的约会)我需要在一定的时间范围内获得约会日期,并将doctor_id
链接到doctors
表中的匹配ID,并从该表中获取姓名和电话号码。
以下是我提出的连接声明:
SELECT a.doctor_id, a.appointment_date, b.last_name, b.preferred_phone
FROM appointments a,doctors b
WHERE a.appointment_date BETWEEN NOW() AND NOW() + INTERVAL 3 DAY
这给了我所有的医生,并说他们的ids都是3,但事实并非如此(这是一个自动递增栏),但是我需要与约会相关联的医生id
。那么如何用外键实现呢?
答案 0 :(得分:1)
您可以添加联接的条件:a.doctor_id = b.id
SELECT a.doctor_id, a.appointment_date, b.last_name, b.preferred_phone
FROM docflight_appointments a, docflight_doctors b
WHERE a.doctor_id = b.id
AND a.appointment_date BETWEEN NOW() AND NOW() + INTERVAL 3 DAY