【发布时间】:2023-03-26 05:28:01
【问题描述】:
我必须在 Postgres 中执行一个函数,该函数需要从同一个表返回两个不同查询的结果,并在同一个表字段(即主键)上使用 where 子句。
具有相同索引号(又名 inIndex、outIndex)的那些是相关的,其中一个是输入,第二个是它的输出。
例子:
SELECT
'9' as inIndex,
name as inFieldName
from FIELDS
where field_id = 1000000005
UNION
SELECT
'10' as inIndex,
name as inFieldName
from FIELDS
where field_id = 1000000007;
SELECT
'9' as outIndex,
name as outFieldName
from FIELDS
where field_id = 1000000004
UNION
SELECT
'10' as outIndex,
name as outFieldName
from FIELDS
where field_id = 1000000006;
有没有办法将两个查询合二为一?
如果不是,如何将两个查询结果返回到 pl/pgsql 函数中的一个结果集中?
到目前为止,我已经提出了两个循环,将结果添加到具有 3 列(索引、inFiled、outField)的自定义类型中。有没有更好的方法来处理这个过程?
【问题讨论】:
-
你能描述一下你想要得到的输出格式吗?
标签: sql database postgresql