首頁 >資料庫 >mysql教程 >如何連接具有數組類型的 PostgreSQL 表並維護元素順序?

如何連接具有數組類型的 PostgreSQL 表並維護元素順序?

Susan Sarandon
Susan Sarandon原創
2024-12-15 13:53:25505瀏覽

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

使用陣列類型連接PostgreSQL 表並保留元素順序

考慮資料庫中的兩個表:

  • items
  • :包含唯一的ID 行以及各種欄位。
  • some_chosen_data_in_order
  • :包含一個名為 id_items 的數組類型字段,其中包含以特定順序排列的項目表中的 ID 值。

從以下位置擷取資料基於 some_chosen_data_in_order中的陣列欄位值的項目表,同時保留其順序,您可以採用以下方法查詢:
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn