You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSMS中如何编写T-SQL筛选无Form D的唯一就诊记录

实现目标

在SSMS中编写T-SQL,筛选未登记Form D的唯一Encounter(就诊)记录:

  • Encounter字段来源于Table 1
  • Document/Forms字段来源于Table 2
  • 需覆盖两类无Form D的场景:就诊无任何关联表单记录、就诊关联了表单但无Form D条目
  • 期望输出就诊编号:1002、1004、1005、1007、1008、1009
原代码问题

你原有查询存在语法和逻辑两处错误:

  • JOIN语法错误:未正确指定关联的第二张表,关联条件的表字段顺序写反
  • 逻辑缺失:未增加「排除存在Form D记录的就诊」的判断,无法返回目标结果
可直接运行的正确代码

推荐使用NOT EXISTS写法,语义清晰且大表场景下性能更优:

SELECT DISTINCT T1.Encounter
FROM Table_One T1
WHERE NOT EXISTS (
    SELECT 1
    FROM Table_Two T2 -- 替换为你环境中实际存储Forms/表单的表名
    WHERE T2.encounter_ID = T1.encounter_ID
      AND T2.Forms = 'Form D'
)
ORDER BY T1.Encounter

如果习惯JOIN写法,可使用左连接判空的版本:

SELECT T1.Encounter
FROM Table_One T1
LEFT JOIN Table_Two T2
  ON T1.encounter_ID = T2.encounter_ID
 AND T2.Forms = 'Form D'
WHERE T2.encounter_ID IS NULL
GROUP BY T1.Encounter
ORDER BY T1.Encounter
注意事项
  • 不要将T2.Forms = 'Form D'条件写在WHERE子句中,否则会过滤掉完全没有关联表单的就诊记录,导致结果缺失
  • 上述两种写法都会自动去重,不会返回重复的就诊编号
参考数据示例

表单关联数据示例

内容的提问来源于stack exchange,提问作者Greg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 02:33:42