假设我有一个如下所示的表:
id属性
1足球
1 NFL
1球
2足球
2签名
2 nfl
2 blah
2 NFL
我想获得一个不同的id列表,其中属性列包含术语“football”,“NFL”和“ball”。因此将包括1,但2不会。在Terdata中最优雅/最有效的方法是什么?
每个ID的属性数量可能不同,并且术语可以重复。例如,NFL对于id 2出现两次。
答案 0 :(得分:2)
您可以使用以下内容:
select id
from yourtable
where attribute in ('football', 'NFL', 'ball')
group by id
having count(distinct attribute) = 3
请参阅SQL Fiddle with Demo(小提琴显示MySQL,但这应该可以在TeraData中使用)