我正在研究11,500项医疗保健索赔,我有以下疑问:
select distinct b.claim_nbr, b.SERV_NBR, a.Member_Nbr, b.AFF_NBR, b.YMDEFF, b.ymdend, b.Location
From (select distinct member_nbr, aff_nbr, ymdeff, ymdend
From service_x
Where claim_nbr in (######)) a
join service_x b
on substr(a.aff_nbr,1,6) = substr(b.aff_nbr,1,6)
and a.member_nbr = b.member_nbr and (b.ymdeff between a.ymdeff and a.ymdend)
order by 2;
结果集将包含我的列表中的声明以及相关声明(与成员编号,从属关系编号和服务日期匹配的声明)的字段信息。我试图避免从我的列表中一次插入一个声明到查询中,但我还需要一些方法来区分WHERE声明匹配的结果集。
我很乐意使用临时表来执行此操作,但我的权限是只读的,我的研究声明列表在此程序中不能SELECT,并且我的CREATE权限请求目前被拒绝。
我正在使用的程序(Benthic's Golden)能够在客户端导出到Excel,所以如果我可以进行客户端循环(如果这是可能的话),我可以把每个结果集在一个单独的Excel工作表上,并以此方式一次执行40-50。否则,我认为结果集必须是一个编译。如果可能的话,请教我一种区分结果集中不同记录的方法,通过使用成功的循环允许我将每个索引的结果集导出到Excel或通过许多索赔的结果集一次表明哪个索赔在where子句中匹配。
非常感谢您考虑我的问题。
编辑:我在Politank-Z的帮助下的最终代码: select distinct b.claim_nbr, b.SERV_NBR, a.Member_Nbr, b.AFF_NBR, b.YMDEFF, b.ymdend, b.Location, a.origclm
From (select distinct claim_nbr as origclm, member_nbr, aff_nbr, ymdeff, ymdend
From service_x
Where claim_nbr in (######)) a
join service_x b
on substr(a.aff_nbr,1,6) = substr(b.aff_nbr,1,6)
and a.member_nbr = b.member_nbr and (b.ymdeff between a.ymdeff and a.ymdend)
order by 8;
Export excel
答案 0 :(得分:0)
您想要的信息只需要冒泡。将claim_nbr
添加到内部查询的SELECT
子句中,并将其包含在外部查询的SELECT
子句中的别名下,即可获胜。
select distinct a.claim_nbr ref_claim, b.claim_nbr, b.SERV_NBR, a.Member_Nbr, b.AFF_NBR,
b.YMDEFF, b.ymdend, b.Location
From (select distinct member_nbr, aff_nbr, ymdeff, ymdend, claim_nbr
From service_x
Where claim_nbr in (######)) a
join service_x b
on substr(a.aff_nbr,1,6) = substr(b.aff_nbr,1,6)
and a.member_nbr = b.member_nbr and (b.ymdeff between a.ymdeff and a.ymdend)
order by 2;