PostgreSQL:在PostgreSQL的单个列中获取函数的结果

时间:2014-03-10 11:05:20

标签: function postgresql

尝试以不同列的表格形式显示结果,但将所有结果都显示在一列中。

- 我的功能

create or replace function test1()       
returns table ( "Fname" varchar(20),"Lname" varchar(20),"A-B" bigint,"C-D" bigint,
"E-F" bigint ) as    
$body$  
begin  
return query  
SELECT tb."Fname",tb."Lname",count(tb."City"='A-B' OR NULL) AS "A-B",  
   count(tb."City"='C-D' OR NULL) AS "C-D",  
   count(tb."City"='E-F' OR NULL) AS "E-F"  
FROM "Table1" tb    
WHERE  tb."City" in ('A-B','C-D','E-F')    
GROUP BY 1,2  
ORDER BY 1,2;    
end  
$body$  
language plpgsql;  

2 个答案:

答案 0 :(得分:1)

代替

select test1()

DO

select * from test1()

答案 1 :(得分:1)

你不需要plgpsql。这只是一个简单的查询。

但是假设你只想测试它:你如何调用函数?

对于表格返回功能,您可以:select * from f1();

对于返回一个值的函数,执行select f1();