Étant donné une table définie en tant que telle:PostgreSQL: Aplatir une relation avec un tableau émette une ligne par entrée du tableau
CREATE TABLE test_values(name TEXT, values INTEGER[]);
... et les valeurs suivantes:
| name | values |
+-------+---------+
| hello | {1,2,3} |
| world | {4,5,6} |
Je suis en essayant de trouver une requête qui retournera:
| name | value |
+-------+-------+
| hello | 1 |
| hello | 2 |
| hello | 3 |
| world | 4 |
| world | 5 |
| world | 6 |
J'ai examiné the upstream documentation on accessing arrays, et a essayé de penser à ce qu'un solut ion en utilisant the unnest()
function ressemblerait, mais ont été à venir vide.
Une solution idéale serait facile à utiliser même dans les cas où il y avait un nombre significatif de colonnes autres que le tableau en cours d'expansion et aucune clé primaire. La gestion d'un cas avec plusieurs tableaux n'est pas importante.
N'a pas 'sélectionner le nom, unnest (valeurs) "valeur" de test_values;' travail? – bgoldst