Colonnes concaténées dans l'enregistrement renvoyées par la fonction
Lorsque vous joignez une table avec une fonction qui renvoie plusieurs colonnes, il est essentiel de prendre en compte les données potentielles problèmes de concaténation. Pour relever ce défi, explorons différentes approches pour extraire des colonnes individuelles de l'enregistrement renvoyé.
Approche générale pour la décomposition des lignes
Pour décomposer les lignes renvoyées par une fonction, utilisez la syntaxe suivante :
SELECT * FROM function_name(arguments);
Postgres 9.3 et versions ultérieures : utilisation de JOIN LATERAL pour décomposer les résultats
Pour Postgres 9.3 ou supérieur, vous pouvez utiliser JOIN LATERAL pour décomposer les résultats plus proprement :
SELECT ... FROM table_name a JOIN LATERAL function_name(a.accountid, '2014-08-12') f WHERE ...
Postgres 9.2 ou version antérieure : décomposition des résultats Utilisation d'une sous-requête
Dans les versions antérieures de Postgres versions, vous pouvez décomposer les résultats à l'aide d'une sous-requête :
SELECT ... FROM ( SELECT a.*, function_name(a.accountid, '2014-08-12') AS rec FROM table_name a WHERE ... ) a
Bonnes pratiques pour décomposer les résultats
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!