La requête suivante ne fonctionnera pas, mais il devrait être clair ce que j'essaie de faire: diviser la valeur de 't' sur l'espace et utiliser le dernier élément de ce tableau dans la sous-requête (comme cela va correspondre tl). Des idees pour faire cela? Merci!postgres sous-requête w/colonne dérivée
SELECT t, y, "type",
regexp_split_to_array(t, ' ') as t_array, sum(dr), (
select uz from f.tfa where tl = t_array[-1]
)
as uz,
sc
FROM padres.yd_fld
WHERE y = 2010 AND pos <> 0
GROUP BY t, y, "type", sc;
"De même, null est renvoyé si un indice est en dehors des limites du tableau (ce cas ne génère pas d'erreur)." (un [extrait] (http://www.postgresql.org/docs/current/static/arrays.html#ARRAYS-ACCESSING) des docs). –
+1 J'avais raté ça. Je me suis interrogé sur les index négatifs, qui à première vue seraient intrinsèquement invalides. Mais ils ne le sont pas, car postgresql autorise des index inférieurs arbitraires dans la déclaration de tableau. Et je vois que Postgresql ne donne pas d'erreur même lorsque les dimensions sont incompatibles. – leonbloy