Maison > base de données > tutoriel mysql > Comment joindre des tables PostgreSQL avec des types de tableaux et conserver l'ordre des éléments ?

Comment joindre des tables PostgreSQL avec des types de tableaux et conserver l'ordre des éléments ?

Susan Sarandon
Libérer: 2024-12-15 13:53:25
original
500 Les gens l'ont consulté

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

Joindre des tables PostgreSQL avec des types de tableaux et préserver l'ordre des éléments

Considérons deux tables dans une base de données :

  • éléments : contient des lignes d'identification uniques ainsi que divers field.
  • some_chosen_data_in_order : inclut un champ de type tableau nommé id_items avec les valeurs d'ID de la table des éléments disposées dans un ordre particulier.

Pour récupérer les données du table d'éléments basée sur les valeurs des champs du tableau dans some_chosen_data_in_order tout en préservant leur ordre, vous pouvez utiliser ce qui suit requête :

SELECT t.*
FROM unnest(ARRAY[1,2,3,2,3,5]) item_id
LEFT JOIN items t on t.id=item_id
Copier après la connexion

Cette requête effectue les actions suivantes :

  • unnest(ARRAY[1,2,3,2,3,5]) : désemboîte le tableau fourni en éléments individuels, créant une séquence de lignes.
  • LEFT JOIN items t on t.id=item_id : joint les éléments non imbriqués à la table items en fonction du champ id.
  • LEFT JOIN garantit que tous les éléments non imbriqués sont renvoyés, même s'ils n'ont pas de lignes correspondantes dans le items table.

En utilisant cette requête, vous pouvez récupérer les éléments dans l'ordre spécifié par le tableau id_items dans le table some_chosen_data_in_order.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal