0

假设我有一个如下所示的表:

id 属性

1 足球

1 美国橄榄球联盟

1个球

2 足球

2 亲笔签名

2 橄榄球

2 废话

2 美式橄榄球

我想获得一个不同的 id 列表,其中属性列包含术语“足球”、“NFL”和“球”。所以 1 将被包括在内,但 2 不会。在 Terdata 中执行此操作的最优雅/最有效的方法是什么?

每个 id 的属性数量可能不同,并且术语可以重复。例如,对于 id 2,NFL 出现了两次。

4

1 回答 1

2

您可以使用以下内容:

select id
from yourtable
where attribute in ('football', 'NFL', 'ball')
group by id
having count(distinct attribute) = 3

请参阅SQL Fiddle with Demofiddle 显示 MySQL,但这应该适用于 TeraData

于 2013-01-29T00:07:43.260 回答