如何根据仅一个记录进行过滤?

How can I filter based on Just One Record?

我正在尝试编写一个基于 2 个组件的查询。我有两个名为 'Plan_code' 的字段和另一个名为 'PolicyNum' 的字段。我有 'PolicyNum' 的多个记录,但它们将具有唯一的 'Plan_code' 关联。我想要找到的是,如果 'PolicyNum' 重复项之一的 'Plan_Code' 为 1,则提取所有 PolicyNum 重复项。当我写下面的查询时

SELECT PolicyNum
,Plan_Code

FROM [dbo].[IMS_IFCRP01_AA]

WHERE Plan_Code = '1'

我只会得到一条记录,其中 PolicyNum 的 Plan_Code = 1。我需要 PolicyNum 的所有副本来进行此分析。任何帮助,将不胜感激。谢谢

一种方法使用 existsin:

SELECT ia.*
FROM [dbo].[IMS_IFCRP01_AA] ia
WHERE ia.PolicyNum IN (SELECT ia2.PolicyNum 
                       FROM [dbo].[IMS_IFCRP01_AA] ia2
                       WHERE ia2.Plan_Code = '1'
                      );

如果您需要重复保单编号。

SELECT 
    PolicyNum
FROM [dbo].[IMS_IFCRP01_AA]
WHERE
   Plan_Code = '1' 
GROUP BY 
    PolicyNum
HAVING COUNT(*) > 1