【发布时间】:2016-03-14 14:13:37
【问题描述】:
我会尽量保持简单。我尝试了几种方法,但总是卡住。所以我的问题是,收集以下数据的最佳途径是什么?
逻辑: 如果提供者和运营商在区域“CI”中是状态 LP、CP、PP,则相同的提供者和运营商在区域“UI”中应该是状态“OP”。
上述逻辑将使用同一张表。这是一个错误报告。因此,当区域“CI”中有 LP、CP、PP 时,我需要显示提供者/运营商组合在区域“UI”中不是“OP”的错误。如果他们在“CI”中有组合,则他们不需要“OP”记录。但是,如果他们确实在“CI”中有记录,那么我需要检查他们是否在“UI”中有记录。如果他们这样做,它必须是状态'OP'。
这是我根据您的逻辑使用的查询。我不确定这是否正确,因为我没有运行测试查询。
Select distinct aff.aff_no, aff.prov_no, IRS_No,prog_no, Last_name, First_name + ' ' + Last_name as Provider_Name, prov.CONTROL_NO, office_no, aff.Carrier, aff.[Region], aff.pay_class, aff.status, aff.spec_1, aff.op_no, aff.hat_code, aff.area, aff.period_table_no, pat_to as pay_to, aff.medicare_no, aff. eff_date, aff.end_date, aff.trans_date, 'Status/Region Error' As [Rept Error], ACTIVE_PATIENTS as member_cnt
from amisys.dbo.Provider Prov
INNER JOIN amisys.dbo.Affiliation Aff
on Prov.Prov_no = Aff.Prov_No
where aff.end_date = '12/31/9999'
and aff.void = ' '
and PAY_CLASS <> 'dummy'
and irs_no = '721269878'
and status in ('PP','LP','CP')
and region = 'CI'
and HAT_CODE = 'SP'
and EXISTS(Select 1 from amisys.dbo.Affiliation aff2
Where aff.prov_no = aff2.PROV_NO
and aff.carrier = aff2.carrier
and aff2.region = 'UI'
and aff2.status = 'OP')
如果我在正确的轨道上,有人可以帮我完成这个吗?如果没有,有人可以告诉我这应该如何编码吗?
非常感谢, 格雷格
【问题讨论】:
-
一个很好的起点是从样本数据和期望的结果开始(对于网络上的问题和自己解决的问题)。我理解其中的逻辑,但不知道你想用它做什么。
标签: sql join temp-tables