我已经从结果表中删除了已经建立的行。我决定尝试从一开始就从插入结果表中删除行。
在使用完事实后,要从结果表中删除适当的行:
if @InterchangeAction = 'HCR'
begin
--Do not allow claims to be output if they have a prior submission marked 'output'
--and the interchange 'output submission action' is marked as 'hold'
delete from #ResultSet
where exists ( select 1 from ClaimSubmissions CS inner join InterchangeInfo I on CS.InterchangeId = I.InterchangeId
where #ResultSet.ClaimId = CS.ClaimId
and CS.InterchangeId = @InterchangeID
and CS.SubmissionStatus = 'OPT'
and CS.OutputDate is not NULL
)
end
这```
可以按我想要的方式工作,但是我认为停止行添加会更有效。
我将开始检查:
if @InterchangeAction = 'HCR'
然后连接到现有的where子句,但是我不确定如何将delete语句转换为where子句?
任何从何处开始的指针将不胜感激。
除非我缺少明显的东西,否则您不只是在寻找吗?:
INSERT #ResultSet
(<Column List>)
SELECT
<Column List>
FROM
WhatHaveYou AS WHY
WHERE NOT EXISTS ( select 1 from ClaimSubmissions CS
inner join InterchangeInfo I
on CS.InterchangeId = I.InterchangeId
where WHY.ClaimId = CS.ClaimId
and CS.InterchangeId = @InterchangeID
and CS.SubmissionStatus = 'OPT'
and CS.OutputDate is not NULL
)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。