加入数据库没有结果?

时间:2010-11-01 16:09:14

标签: c# sql sql-server-2005

我想加入两个表来获取医生名称而不是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

列显示但没有任何结果,数据库中没有数据?

3 个答案:

答案 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]