gpt4 book ai didi

sql - 分离从postgres中的函数返回的记录

转载 作者:行者123 更新时间:2023-11-29 11:19:03 24 4
gpt4 key购买 nike

我有一个函数通过 output parameters 返回两个参数作为匿名复合类型.

我可以通过这样的查询访问各个列:

# select * from guess_user('Joe','Bloggs');
confidence | matchid
------------+---------
0.142857 | 1121

现在我想将这个函数的输出与一些数据结合起来:

# select firstname,lastname from users limit 5;
firstname | lastname
-----------+----------
Adam | Smith
Amy | Peters
Annette | Bloggs
Annie | Mills
Amanda | Hibbins

我正在寻找将输出以下内容的查询:

 firstname | lastname | confidence | matchid 
-----------+----------+------------+---------
Adam | Smith | |
Amy | Peters | |
Annette | Bloggs | |
Annie | Mills | |
Amanda | Hibbins | |

使用使用该行中的名称调用 guess_user 的结果填充 confidence 和 matchid 列。

我目前最接近的努力是:

# select firstname, lastname, guess_user(firstname, lastname) from users limit 5;

哪个返回:

 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)

有没有办法将 guess_user 输出拆分成单独的列?

最佳答案

结合 depesz 和 fazal 的回答,这似乎可行:

select firstname, lastname, (guess_user(firstname, lastname)).*
from users
limit 5

关于sql - 分离从postgres中的函数返回的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1885727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com