У меня две отклоненные переменные, и я пытаюсь установить значения из результата моего CTE,
declare @Total_new_claims_received int
declare @Total_Claims_Processed int
Конечное решение, которое я ищу, - это возможность установить оба объявленных значения из результатов CTE:
select @Total_new_claims_received = count(id)
from cte
where benefit_code_id not in ('739')
select @Total_Claims_Processed = count(id)
from cte2
where benefit_code_id not in ('739')
Текущий код:
declare @Total_new_claims_received int
declare @Total_Claims_Processed int
with cte (ID, Date)
as (
select c.id, c.date
from axiscore.dbo.claim c with (nolock)
inner join claim_line cl on c.Claim_ID = cl.Claim_ID and cl.Linenum = 1
left join axiscore.dbo.member_policy mp with (nolock) on c.Member_Policy_ID = mp.Member_Policy_ID
left join axiscore.dbo.policy p with (nolock) on mp.policy_id = p.policy_id
inner join axiscore.dbo.Claim_Status s with (nolock) on c.Claim_Status_ID = s.Claim_Status_ID
left outer join axiscore.dbo.Claim_Reason_Type r with (nolock) on c.Claim_Reason_Type_ID = r.Claim_Reason_Type_ID
where
c.Updated_Date between '10-1-2019' and '10-31-2019'
and p.Payor_ID = 8
and (c.Claim_Status_ID <> 8)),
cte2 (ID, Date)
as
(
select c.id, c.date
from axiscore.dbo.claim c with (nolock)
inner join claim_line cl on c.Claim_ID = cl.Claim_ID and cl.Linenum = 1
left join axiscore.dbo.member_policy mp with (nolock) on c.Member_Policy_ID = mp.Member_Policy_ID
left join axiscore.dbo.policy p with (nolock) on mp.policy_id = p.policy_id
inner join axiscore.dbo.Claim_Status s with (nolock) on c.Claim_Status_ID = s.Claim_Status_ID
left outer join axiscore.dbo.Claim_Reason_Type r with (nolock) on c.Claim_Reason_Type_ID = r.Claim_Reason_Type_ID
where
c.Updated_Date between '10-1-2019' and '10-31-2019'
and p.Payor_ID = 8
and (c.Claim_Status_ID in (7,6))
and (c.Claim_Reason_Type_ID not in (136,137)))
select @Total_new_claims_received = count(id)
from cte
where benefit_code_id not in ('739')
select @Total_Claims_Processed = count(id)
from cte2
where benefit_code_id not in ('739')
В настоящее время
это только установка значения для Total_new_claims_received. Он выдает ошибку при втором выборе, когда я устанавливаю значение для Total_Claims_Processed. Ошибка «недопустимое имя объекта» cte2.
Я использую CTE вместо временных таблиц, потому что я вызываю этот процесс в пакете служб SSIS. Пакет служб SSIS плохо работает с временными таблицами. Любые другие идеи приветствуются.
спасибо за ваше время!