我正在尝试确定最佳方法。在这方面,我们有许多实体和对这些实体成员的主张。这些主张本身并不具有该实体的概念,我将拥有一个将成员资格和权利要求结合在一起的子查询。我的问题是每个实体都有特定的索赔来源。
和claimource in(当实体1然后来源a& b,当实体2然后来源a,当实体3然后来源a,b,c)
and c.PD_PRD_YYYYMM between '201401' and (select to_char(sysdate - 45, 'YYYYMM') from dual) -- analyst adjust
and c.CLM_SRC_CD in (when c.entity = 'Entity 1' then 'Source A', when c.entity = 'Entity 2' then 'Source A & Source B', etc...)
我被困在c.CLM_SRC_CD部分,因为我不知道你是否需要一个案例陈述。这在概念上将用于多个地方。我在某些方面取得了很大的进步,但它已经埋没在我成千上万的崩溃的编辑中
我不确定案例陈述是否合适?任何帮助都将非常感激。
谢谢,
贾斯汀
答案 0 :(得分:0)
虽然我不是Oracle SQL的专家,但是这应该是关闭的:
where...
and ((c.Entity = 'Thing 1' and c.CLM_SRC_CD in (select ... from SourceA))
or (c.Entity = 'Thing 2' and c.CLM_SRC_CD in (select ... from SourceB)))
使用and
和or
s可以使其类似于case语句,但允许您在in
项检查中为我们指定子查询。