ホームページ >データベース >mysql チュートリアル >PostgreSQL テーブルを配列型で結合し、要素の順序を維持する方法

PostgreSQL テーブルを配列型で結合し、要素の順序を維持する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 13:53:25503ブラウズ

How to Join PostgreSQL Tables with Array Types and Maintain Element Order?

配列型を使用した PostgreSQL テーブルの結合と要素の順序の保持

データベース内の 2 つのテーブルについて考えます:

  • items: 一意の ID 行が含まれます
  • some_chosen_data_in_order: アイテム テーブルの ID 値が特定の順序で配置された id_items という名前の配列型フィールドが含まれます。

取得するには順序を維持しながら、some_chosen_data_in_order の配列フィールド値に基づいて items テーブルのデータを取得するには、次を使用できます。クエリ:

SELECT t.*
FROM unnest(ARRAY[1,2,3,2,3,5]) item_id
LEFT JOIN items t on t.id=item_id

このクエリは次のアクションを実行します:

  • unnest(ARRAY[1,2,3,2,3,5]) : 指定された配列を個々の要素にネスト解除し、一連の行を作成します。
  • LEFT JOIN items t on t.id=item_id: ID フィールドに基づいて、ネストされていない要素を items テーブルに結合します。
  • LEFT JOIN により、ネストされていない要素がすべて返されるようになります。

このクエリを使用すると、アイテム テーブルで指定された順序でアイテムを取得できます。 some_chosen_data_in_order テーブルの id_items 配列。

以上がPostgreSQL テーブルを配列型で結合し、要素の順序を維持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。