我正在处理两个表,patentTbl
,它由一个名为 PatientID 的 PK 和一个名为 icdJxn
的连接表组成。设置以下查询是为了查找 patentTbl
中存在的 patentID
值,而不是 icdjxn
中存在的值。
select patienttbl.patientid, icdjxn.patientID as [nulls?]
from patientTbl left outer join icdjxn on patientTbl.patientID = icdjxn.patientID
where (icdjxn.patientID is null)
我很确定这给了我 patentTbl.patentID
中的值,而 icdjxn.patentID
中不存在这些值。有没有办法插入
此查询,这样我就不会遇到任何 PK/FK 问题?
最佳答案
如果您使用的是 SQL Server 2008 或更高版本,则合并即可完成这项工作。
merge icdjxn as S
using patientTbl as T
on S.patientID = T.patientID
when not matched then
insert (patientID) values (patientID);
关于sql - 查找连接表中缺失的值,纠正 SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621244/