一对多数据库表关系

时间:2013-02-24 06:34:16

标签: sql-server database

我有数据库中的两个表..

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表不接受任何值,因此这两个表之间的关系不会被强制执行,我该怎么办?

1 个答案:

答案 0 :(得分:0)

像这样使用外部联接......

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

您将从咨询中获取所有行,以及来自Vitalsign的匹配行。当Vitalsign中没有行时,所有这些列都将返回null,但您仍将获得咨询行。

这可能不适合您的情况,因为您问题中的表格结构看起来并不完整。那个,你在两个表中都没有引用另一个PK的外键。