一对多数据库表的关系
问题描述:
我有从数据库中的两个表..一对多数据库表的关系
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表不会接受任何价值观,因此这两张表之间的关系不会被强制执行,我该怎么办?
答
使用外连接,像这样......
Select * from Consultation
Left join VitalSign on (Consultation.ConsultationNo = vitalsign.ConsultationNo)
你会得到从咨询的所有行,并从Vitalsign匹配的行。当Vitalsign中没有行时,所有这些列将返回null,但您仍然可以获得咨询行。
这可能不完全适合您的情况,因为您的问题中的表结构看起来不完整。那么,你是不是在任何一张引用另一张PK的表中都有一个外键。
感谢您的输入!但是我需要问的是,如果我在VItalSign没有记录,我可能能够在咨询表中插入一个完整的行 – TheOxblood 2013-02-24 07:19:13
我不明白。你需要编辑你的问题,以便更清楚你想要做什么并提供例子。我不明白你的评论你的意思。 – JohnFx 2013-02-24 07:26:00