对于一个 id,如果一个值永远是假的,那么它总是假的 SQL

For an id if a value is ever false than it's always false SQL

我有一个数据集,我在其中创建了一个基于某些标准的值,我根据一些先验值得到 True/False。现在,如果我的成员曾经是假的,他们需要有 1 条他们总是假的记录。数据类似如下

ID| Indicator
1  | TRUE    
1   | TRUE   
2   | FALSE 
3   | TRUE   
3   | FALSE  

我希望它看起来像这样

ID  |  Indicator
1   |  TRUE
2   | FALSE
3   | FALSE

但我不确定如何在 Teradata 中执行此操作

Teradata 不支持布尔类型。所以,我假设指标是一个字符串。

在那种情况下,最简单的方法是min():

select id, min(indicator)
from t
group by id;

根据示例数据,我会这样做:

SELECT DISTINCT t.id,
       (CASE WHEN EXISTS (SELECT 1 
                          FROM table t1 
                          WHERE t1.id = t.id AND t1.Indicator = 'False'
                         ) 
             THEN 'False' 
             ELSE 'TRUE' 
        END) AS Indicator
FROM table t;