0

次のようなテーブルがあります。

Column A      Column B         Column C
---------     ---------        --------
  GBR            UK1              177
  GBR            UK2              177
  GBR            UK2              178
  GBR            UK3              178
  GBR            UK1              178
  GBR            UK4              177
  GBR            UK5              179
  GBR            UK6              180
  GBR            UK2              179
  GBR            UK1              179
  GBR            UK2              180
  GBR            UK1              180

ここで、列 C のすべての値 (ここでは 177, 178,179,180) を持つ列 B の値のみを取得する必要がある Oracle のクエリが必要です。ここでの答えは明らかに UK1 と UK2 ですが、これに対するクエリを取得するにはどうすればよいでしょうか? ありがとう

4

2 に答える 2

2

次のようなクエリを使用できます。

select ColumnB
from yt
group by ColumnB
having count(distinct ColumnC) = (select count(distinct ColumnC)
                                  from yt);

デモで SQL Fiddle を参照してください

于 2013-04-29T10:47:08.950 に答える
-3

してみてください:

select ColumnA, ColumnB From YourTable
where ColumnC in (177, 178, 179, 180)
group by ColumnA, ColumnB
having count(distinct ColumnC)=4
于 2013-04-29T10:59:22.377 に答える