私はbigint[]列を持っています:
person
------
id | name | other_information
------------------------------
1 | Zé | {1,2,3}
2 | João | {1,3}
3 | Maria | {3,5}
other_informationに2または5の人を選択する必要があります。どのように?
私はbigint[]列を持っています:
person
------
id | name | other_information
------------------------------
1 | Zé | {1,2,3}
2 | João | {1,3}
3 | Maria | {3,5}
other_informationに2または5の人を選択する必要があります。どのように?
select *
from person
where 2 = ANY(other_information)
or 5 = ANY(other_information)
ただし、非正規化されたスキーマになるため、配列の使用はお勧めしません。
ヒント: 配列はセットではありません。特定の配列要素の検索は、データベースの設計ミスの兆候である可能性があります。配列要素となる項目ごとに 1 つの行を持つ個別のテーブルを使用することを検討してください。これにより、検索が容易になり、多数の要素に対してより適切にスケーリングされる可能性があります。