2013-02-24 166 views
0

我有從數據庫中的兩個表..一對多數據庫表的關係

Consultation Table 
-ConsultationNo -PK 
-PatientNo -FK 
-Diagnosis 
-Etc... 


VitalSign Table 
-VitalSignNo -PK 
-Weight 
-Height 
-HeartRate 
-BloodPressure 
-Etc 

我需要連接這兩個表這樣的..

Consultation Table 
-ConsultationNo -PK 
-PatientNo -FK 
**-VitalSignNo** -FK 
-Diagnosis 
-Etc... 

但有時候,我VitalSign表不會接受任何價值觀,因此這兩張表之間的關係不會被強制執行,我該怎麼辦?

回答

0

使用外連接,像這樣......

Select * from Consultation 
Left join VitalSign on (Consultation.ConsultationNo = vitalsign.ConsultationNo) 

你會得到從諮詢的所有行,並從Vitalsign匹配的行。當Vitalsign中沒有行時,所有這些列將返回null,但您仍然可以獲得諮詢行。

這可能不完全適合您的情況,因爲您的問題中的表結構看起來不完整。那麼,你是不是在任何一張引用另一張PK的表中都有一個外鍵。

+0

感謝您的輸入!但是我需要問的是,如果我在VItalSign沒有記錄,我可能能夠在諮詢表中插入一個完整的行 – TheOxblood 2013-02-24 07:19:13

+1

我不明白。你需要編輯你的問題,以便更清楚你想要做什麼並提供例子。我不明白你的評論你的意思。 – JohnFx 2013-02-24 07:26:00