PostgreSQL の配列型による結合: 配列要素の順序付け
PostgreSQL では、多くの場合、テーブルを配列型の列と結合する必要があります。ただし、配列型を扱う場合、要素の順序を維持するのは難しい場合があります。
問題:
目標は、項目テーブルからデータを順序どおりに取得することです。 some_chosen_data_in_order の配列型列 id_items 内の要素のtable.
試行:
失敗した試行には、配列要素の順序を保持できない JOIN およびサブクエリ アプローチの使用が含まれます。
解決策:
解決策には、unnest() の使用が含まれます。配列から個々の要素を返す関数。 id_items に適用された unnest() で LEFT JOIN を使用すると、項目を希望の順序で取得できます。
例:
SELECT t.* FROM unnest(ARRAY[1,2,3,2,3,5]) item_id LEFT JOIN items t on t.id=item_id
このクエリは選択しますID が 1、2、3、2、3、5 の順序でアイテム テーブルからアイテムを取得します。
以上がPostgreSQL でテーブルを結合するときに配列要素の順序を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。