Tengo una función que devuelve dos parámetros como un tipo compuesto anónimo a través de output parameters.Separación del registro devuelto por la función en postgres
puedo acceder a las columnas individuales con una consulta como esta:
# select * from guess_user('Joe','Bloggs');
confidence | matchid
------------+---------
0.142857 | 1121
Ahora quiero combinar la salida de esta función con algunos datos:
# select firstname,lastname from users limit 5;
firstname | lastname
-----------+----------
Adam | Smith
Amy | Peters
Annette | Bloggs
Annie | Mills
Amanda | Hibbins
Busco a una consulta que dará como resultado lo siguiente:
firstname | lastname | confidence | matchid
-----------+----------+------------+---------
Adam | Smith | |
Amy | Peters | |
Annette | Bloggs | |
Annie | Mills | |
Amanda | Hibbins | |
Con la confianza y relleno de columnas coincidentes ed out usando los resultados de llamar a guess_user con los nombres de esa fila.
Mi actual esfuerzo más cercana es:
# select firstname, lastname, guess_user(firstname, lastname) from users limit 5;
que devuelve:
firstname | lastname | guess_user
-----------+-----------+---------------
Angela | Abbott | (0.285714,3)
Amy | Allan | (0.285714,4)
Annette | Allison | (0.285714,5)
Annie | Ashworth | (0.285714,6)
Amanda | Baird | (0.285714,7)
¿Hay una manera de dividir la salida guess_user en columnas separadas?
En caso de que sea útil para cualquiera que desee experimentar, aquí es una función que devolverá el mismo tipo de registro como el que estoy usando: crear o reemplazar la función guess_user (firstname varchar, lastcharch varchar, OUT confidence real, OUT matchid integer) como $$ BEGIN matchid: = 1; confianza: = 0.5; REGRESO; FIN; $$ LANGUAGE plpgsql; – simoncoggins
¿Sería posible implementar esto como una vista en su lugar? http://developer.postgresql.org/pgdocs/postgres/sql-createview.html –