1

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

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

我希望它看起来像这样

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

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

4

2 回答 2

2

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

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

select id, min(indicator)
from t
group by id;
于 2018-11-13T15:28:43.963 回答
1

根据样本数据,我会这样做:

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;
于 2018-11-13T15:29:54.013 回答