我如何找到两个表之间缺少的代码?

问题描述 投票:0回答:1

我正在努力解决以下问题,非常感谢您的帮助。

我有两个表:

表一包含3列:spellNUM(住院病人住院的唯一标识符),nhsNUM(病人住院的唯一标识符)和2020年4月(即一个月)的诊断(住院病人在住院期间记录的诊断代码)。

第二张表列出了所有时间(约10年以上)的医院拼写编号,nhs编号和诊断信息。

我的目标是针对表一中的每个咒语NUM,以识别表二中每个患者(NhsNUM)缺少哪些诊断代码(即,表1中列出的咒语中不存在的诊断代码。

例如,表一:spellNUM / nhsNUM / diagnosisCD1/443 / g1111/443 / y5551/443 / t7772/443 / a5552/443 / u777

表二:spellNUM / nhsNUM / diagnosisCD1/443 / g1111/443 / y5551/443 / t7772/443 / a5552/443 / u7773/443 / k6563/443 / u7773/443 / g1113/443 / y555

对于表1中的拼写1,缺少的代码是a555,u777和k656(缺少表2中拼写2和3的代码)。请注意,法术3(表2)中的某些代码与法术1(表1)中的某些代码相同(例如g111),因此我们对它们不感兴趣。

对于表一中的拼写2,缺少的代码为g111,y555,t777,k656(来自表二中的拼写1和3)。

我需要我的输出来列出spellNUM,nhsNUM和明显的缺失诊断代码。

在这种情况下为:spellNUM / nhsNUM / diagnosisCD1/443 / a5551/443 / u7771/443 / k6562/443 / g1112/443 / y5552/443 / t7772/443 / k656

我尝试了很多ctes和window函数,但是我的努力是徒劳的!

sql sql-server common-table-expression window-functions rank
1个回答
0
投票

感谢jarlh。我们正在使用ms sql。

© www.soinside.com 2019 - 2024. All rights reserved.