2010-11-01 51 views
1

我要加入兩個表,以獲得醫生名稱,而不是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 

列顯示,但沒有任何結果,,沒有任何數據庫中的數據?

+1

檢查'SHIFTS'表 - 我猜測是你沒有任何'doct_id'值與'DOCTORS.doct_id'中的匹配。 – 2010-11-01 16:11:22

+1

這兩個表中是否有任何數據? – dotariel 2010-11-01 16:11:52

回答

2

查詢看起來確定。

嘗試兩個單獨的查詢,以驗證基本數據:

select * from Doctors order by doct_id; 

select * from Shifts order by doct_id; 

看到,如果你可以手動發現的數據問題:

+1

+1爲理智的答案。 OP應該做的第一步是弄清楚他/她有哪些數據。 – NotMe 2010-11-01 16:21:28

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 
+0

這將只顯示SHIFT值 - 基於提供的信息,我希望'DOCTORS'引用全部爲NULL。 – 2010-11-01 16:15:27

+0

我檢查後還是有同樣的問題? – Omneya 2010-11-01 16:16:29

+0

我的猜測是,至少強迫連接離開,會清楚地看到數據庫中的數據,這將進一步幫助OP。 – 2010-11-01 16:16:38

0

嘗試使用LEFT JOIN,並嘗試使用WHERE子句與一個ID,以檢查是否真的是有兩個表中存在醫生

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end 

FROM轉變 LEFT加入Doctors ON Doctors.doct_id = Shifts.doct_id

SELECT Doctors.doct_name,Shifts.shift_date,Shifts.shift_day,Shifts.shift_start,Shifts.shift_end 

FROM轉變 LEFT JOIN醫生開Doctors.doct_id = Shifts.doct_id WHERE Doctors.doct_id = [插入醫生ID在這裏 - doctors_id]