Ho una funzione che restituisce due parametri come tipo composito anonimo tramite output parameters.Separazione record restituito dalla funzione in postgres
posso accedere alle singole colonne con una query come questa:
# select * from guess_user('Joe','Bloggs');
confidence | matchid
------------+---------
0.142857 | 1121
Ora voglio combinare l'output di questa funzione con alcuni dati:
# select firstname,lastname from users limit 5;
firstname | lastname
-----------+----------
Adam | Smith
Amy | Peters
Annette | Bloggs
Annie | Mills
Amanda | Hibbins
Sto cercando una query che emetterà quanto segue:
firstname | lastname | confidence | matchid
-----------+----------+------------+---------
Adam | Smith | |
Amy | Peters | |
Annette | Bloggs | |
Annie | Mills | |
Amanda | Hibbins | |
Con il riempimento delle colonne di corrispondenza e riempimento eliminato usando i risultati di chiamare guess_user con i nomi di quella riga.
Il mio attuale impegno più vicino è:
# select firstname, lastname, guess_user(firstname, lastname) from users limit 5;
che restituisce:
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)
Esiste un modo per dividere l'output guess_user in colonne separate?
Nel caso in cui è utile per chi vuole sperimentare, ecco una funzione che restituisce lo stesso tipo di record, come quella che sto usando: creare o sostituire la funzione guess_user (first varchar, lastname varchar, OUT confidence reale, OUT matchid intero) come $$ BEGIN matchid: = 1; confidenza: = 0,5; RITORNO; FINE; $$ LINGUA plpgsql; – simoncoggins
Sarebbe possibile implementarlo come una vista? http://developer.postgresql.org/pgdocs/postgres/sql-createview.html –