如何 return GROUP BY 的所有成员都等于某个值的实例?

How to return instances where all members of GROUP BY equal a certain value?

我有以下 table 结构:

本质上,我需要 return 该分组的所有值对于 LeadIndication 都是 FALSE 的行。我在 Parent 列上使用 GROUP BY,但无法获取 GROUP BY 中的所有记录均为 FALSE 的实例。以下是我的尝试,return 所有分组均按“父级”分组,但在附加逻辑中存在分层问题。

SELECT [AssetID], [InvestmentID] FROM [rdInvestments] GROUP BY [AssetID],[InvestmentID]

如您所见,基于我的屏幕截图的黄色高亮部分,我只想 return 这些行,因为 GROUP BY 的所有成员对于 LeadIndication 都是假的。

使用条件聚合:

SELECT AssetID
FROM rdInvestments
GROUP BY AssetID
HAVING SUM(IIF(LeadIndication <> 'FALSE', 1, 0)) = 0;

另一种方式:

SELECT AssetID
FROM rdInvestments
GROUP BY AssetID
HAVING SUM(IIF(LeadIndication = 'FALSE', 1, 0)) = COUNT(*);

使用子查询试试这个:

SELECT DISTINCT
    [AssetID]
FROM 
    [rdInvestments]
WHERE
    [AssetID] Not In
        (SELECT T.[AssetID]
        FROM [rdInvestments] As T
        WHERE T.LeadIndication = 'TRUE')