0

我正在尝试执行以下操作:

将 Y/N 标志指定为 Prior Approval,其中包括所有具有 BI 限制 25/50 和 PD 限制 25 且没有其他承保范围的保单。

所以这段代码满足了第一个要求:

SELECT DISTINCT
        PolNum
FROM    Results_Vehicle
WHERE   ( CovCode = 'BI'
          AND CovLimit = '25/50'
        )
        OR ( CovCode = 'PD'
             AND CovLimit = '25'
           )

我不知道如何不包括具有其他覆盖范围的记录。所以基本上对于每个策略,他们可以有 UMBI、COL、REN、BI、PD 等的 CovCode。但是如果对于该 PolNum,他们只有 BI 或 PD 作为 CovCode 和上面定义的 CovLimit,则标志应该只给出 Y。

所以我也需要把它放在 Y/N 格式如下,显然这只满足第一部分的要求:

SELECT  CASE WHEN ( CovCode = 'BI'
                    AND CovLimit = '25/50'
                  )
                  OR ( CovCode = 'PD'
                       AND CovLimit = '25'
                     ) THEN 'Y'
             ELSE 'N'
        END AS PriorApproval
FROM    Results_Vehicle
4

1 回答 1

0

下面这个查询怎么样。联合查询为您提供了具有该类型覆盖范围的所有 PolNum 的组合列表,因此您执行 anot in以提供所有不在该列表中的保单编号,然后您not in列表上执行 a,这应该给您留下仅具有所需覆盖范围而没有其他覆盖范围的 PolNum。

SELECT CASE WHEN 
(
 (CovCode = 'BI' AND CovLimit = '25/50') 
 OR 
 (CovCode = 'PD' AND CovLimit = '25')
 and PolNum not in 
 (
  select PolNum from Results_Vehicle as r1 where PolNum not in 
    (
     select PolNum from Results_Vehicle as r2 
     where CovCode = 'BI' and CovLimit = '25/50' 
     union 
     select PolNum from Results_Vehicle as r3 
     where CovCode = 'PD' AND CovLimit = '25'
    )
 )
) THEN 'Y'
ELSE 'N'
END AS PriorApproval

FROM Results_Vehicle

于 2013-04-10T21:51:25.413 回答