我试图制作一份报告,列出活动客户端(case_status ='A')谁拥有附加到他们的旧版本没有更新,但是我们的数据库布局的方式是将所有文档都列在一张表中,因此有些客户会附上十几种不同的文档。其中一些是重复的文件。选择与一个列值相关但不是另一个的客户端
Ex。
patient_id Doc_code
p01 doc1
p01 doc2
p01 doc3
po1 doc4
p02 doc2
po2 doc3
我需要知道谁拥有“DIAGDOC”的doc_code并没有“DIAGDOC5”的doc_code,所以我们知道需要更新谁。
select
de.patient_id,
de.episode_id
from doc_entity de
join patient p
on p.patient_id = de.patient_id and p.episode_id = de.episode_id
where p.case_status = 'A'
group by de.patient_id, de.episode_id, de.doc_code
having (de.doc_code in ('DIAGDOC'))and (de.doc_code not in ('DIAGDOC5'))
order by de.patient_id, de.episode_id
我似乎让一些客户在裂缝中滑倒。试图找出原因。 –
有没有像diagdoc2这样的文件,但没有diagdoc正在通过?用'diagdoc%'替换顶部块中的= diagdoc会过滤结果给任何拥有文件版本但不是最新版本的人,所以有文档2,3,4,5的人不会通过,但有人2,3,4然而,他们不会与我原来的查询完全吻合 – MarkD
其实我认为这有效。我之前没有使用过除外条款,但我认为这将是我最新的好朋友。我们有一个临床人员更新了两个文件,这些文件恰好在我今天早上做的清单的顶部。我会再做点检查,然后给你一个复选标记。 –