我有一个数据集,在该数据集中我创建了一个基于某些条件的值,基于某些先验值我得到了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中做到这一点
答案 0 :(得分:2)
Teradata不支持布尔类型。因此,我将假定指示器为字符串。
在这种情况下,最简单的方法是min()
:
select id, min(indicator)
from t
group by id;
答案 1 :(得分: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;