Microsoft Access中是否有一种方法可以基于另一个表填充字段?

时间:2020-09-30 23:58:10

标签: sql ms-access-2010 rdbms

我目前有一个名为ClinicT的表,其中包含:ClinicID(主键),ClinicSite,ClinicDiscipline和ClinicArea。我的数据库中还有其他表,它们也具有ClinicSite,ClinicDiscipline和ClinicArea。但是,我想将这三个字段替换为一个名为ClinicID的字段,该字段将捕获所有这些信息。我尝试了两种方法:

  1. 查找向导:它确实显示了具有其学科,站点和区域的相应诊所ID,但我需要为每个记录手动输入诊所ID,并且我有超过100,000条记录。
  2. 使用联接和并集:尽管仅在查询中包含站点和学科时,诊所ID会出现,但是当我在查询中引入诊所区域时,它会显示为空白。
SELECT
ClinicT.ClinicID, DNAT.UR, DNAT.ApptDate, DNAT.DNA, DNAT.ApptDuration, DNAT.ClinicSite, DNAT.ClinicDiscipline
FROM DNAT
LEFT JOIN ClinicT
ON (ClinicT.ClinicDiscipline = DNAT.ClinicDiscipline) AND (ClinicT.ClinicSite = DNAT.ClinicSite) AND (ClinicT.ClinicArea = DNAT.ClinicArea);

UNION

SELECT
ClinicT.ClinicID, DNAT.UR, DNAT.ApptDate, DNAT.DNA, DNAT.ApptDuration, DNAT.ClinicSite, DNAT.ClinicDiscipline
FROM ClinicT
RIGHT JOIN DNAT
ON (ClinicT.ClinicDiscipline = DNAT.ClinicDiscipline) AND (ClinicT.ClinicSite = DNAT.ClinicSite) AND (ClinicT.ClinicArea = DNAT.ClinicArea);

对于ClinicArea字段,某些记录为空(未输入数据),因为它们没有工作的特定区域(例如心脏康复)。

谢谢

无处不在的问题

0 个答案:

没有答案