0

次のようなテーブルがあるとします。

id属性

1サッカー

1 NFL

1ボール

2サッカー

2サイン

2 nfl

2何とか

2 NFL

属性列に「football」、「NFL」、および「ball」という用語が含まれている個別のIDのリストを取得したいと思います。したがって、1は含まれますが、2は含まれません。Terdataでこれを行うための最もエレガントで効率的な方法は何ですか?

属性の数はIDごとに異なる可能性があり、用語は繰り返される可能性があります。たとえば、NFLはID2に対して2回表示されます。

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 Demoを参照してください(fiddleはMySQLを示していますが、これはTeraDataで機能するはずです

于 2013-01-29T00:07:43.260 に答える