我想加入两个表来获取医生名称而不是ID
SELECT Doctors.doct_name,
Shifts.shift_date,
Shifts.shift_day,
Shifts.shift_start,
Shifts.shift_end
FROM SHIFTS
JOIN Doctors ON Doctors.doct_id = Shifts.doct_id
列显示但没有任何结果,数据库中没有数据?
答案 0 :(得分:2)
您的查询看起来不错。
尝试两个单独的查询来验证基本数据:
select * from Doctors order by doct_id;
和
select * from Shifts order by doct_id;
看看您是否可以手动发现数据问题:
答案 1 :(得分:1)
尝试LEFT JOIN
:
SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end
FROM SHIFTS
LEFT JOIN Doctors ON Doctors.doct_id = Shifts.doct_id
答案 2 :(得分:0)
尝试使用左连接,并尝试使用带有id的Where子句来检查两个表中是否确实存在Doctors
SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end
FROM SHIFTS LEFT JOIN医生ON Doctors.doct_id = Shifts.doct_id
OR
SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end
FROM SHIFTS LEFT JOIN医生ON Doctors.doct_id = Shifts.doct_id Doctors.doct_id = [在此插入医生ID - doctors_id]