加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:54:23 所属栏目:MsSql教程 来源:网络整理
导读:我有一个函数,通过 output parameters返回两个参数作为匿名复合类型. 我可以使用如下查询访问各列: # select * from guess_user('Joe','Bloggs'); confidence | matchid ------------+--------- 0.142857 | 1121 现在我想将此函数的输出与一些数据结合起来:
我有一个函数,通过 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的结果填充置信度和匹配列,并使用该行中的名称.

我目前最近的努力是:

# 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,(guess_user(firstname,lastname)).*
from users
limit 5

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读