1

ignorecolignored_entry_idsに整数の配列が含まれるテーブルがあります。例えば:

id     ignored_entry_ids
1      {1,4,6}
2      {6,8,11}
3      {5,6,7}

配列ですべての行に存在する数字を選択するにはどうすればよいですか? (例では6)

4

1 に答える 1

3

数値が配列内で一意である場合、次のようなことができます。それなしで作成できるとは思わないでくださいunnest

with cte as (
    select id, unnest(ignored_entry_ids) as arr
    from ign
)
select arr
from cte
group by arr
having count(*) = (select count(*) from ign)

sql fiddle demo

番号が一意でない場合は、次を追加しdistinctます。

with cte as (
    select distinct id, unnest(ignored_entry_ids) as arr
    from ign
)
select arr
from cte
group by arr
having count(*) = (select count(*) from ign)
于 2013-08-29T11:05:47.740 に答える