首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >分离postgres中函数返回的记录

分离postgres中函数返回的记录
EN

Stack Overflow用户
提问于 2009-12-11 12:10:05
回答 5查看 5.4K关注 0票数 8

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

我可以使用如下查询来访问各个列:

代码语言:javascript
代码运行次数:0
运行
复制
# select * from guess_user('Joe','Bloggs');
 confidence | matchid 
------------+---------
   0.142857 |    1121

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

代码语言:javascript
代码运行次数:0
运行
复制
# select firstname,lastname from users limit 5;
 firstname | lastname 
-----------+----------
 Adam      | Smith
 Amy       | Peters
 Annette   | Bloggs
 Annie     | Mills
 Amanda    | Hibbins

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

代码语言:javascript
代码运行次数:0
运行
复制
 firstname | lastname | confidence | matchid 
-----------+----------+------------+---------
 Adam      | Smith    |            | 
 Amy       | Peters   |            | 
 Annette   | Bloggs   |            | 
 Annie     | Mills    |            | 
 Amanda    | Hibbins  |            | 

并使用使用该行中的名称调用guess_user的结果填充置信度和匹配and列。

我目前最接近的努力是:

代码语言:javascript
代码运行次数:0
运行
复制
# select firstname, lastname, guess_user(firstname, lastname) from users limit 5;

它返回:

代码语言:javascript
代码运行次数:0
运行
复制
 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输出拆分为单独的列?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-06 04:58:59

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

代码语言:javascript
代码运行次数:0
运行
复制
select firstname, lastname, (guess_user(firstname, lastname)).*
from users
limit 5
票数 13
EN

Stack Overflow用户

发布于 2009-12-14 04:29:40

简单地把它做成这样:

代码语言:javascript
代码运行次数:0
运行
复制
select firstname, lastname, x.confidence, x.matchid
from 
(
select firstname, lastname, guess_user(firstname, lastname) as x
from users
limit 5
) q;
票数 2
EN

Stack Overflow用户

发布于 2009-12-11 12:28:56

您需要更改您的函数to return a set -最后一个示例与您请求的功能完全相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1885727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档