【发布时间】:2016-12-16 03:24:09
【问题描述】:
我有一个查询,它将从子查询返回一行作为 RECORD 数据类型 - 参见下面的示例:
select *
from (
select row(st.*) table_rows
from some_table st
) x
where table_rows[0] = 339787
我试图在WHERE 子句中进一步限定它,我需要通过提取返回的RECORD 数据类型中的一个节点来做到这一点。
当我执行上述操作时,我收到一条错误消息:
ERROR: cannot subscript type record because it is not an array
有人知道实现这个的方法吗?
【问题讨论】:
-
我不熟悉
postgres中的row,但您可以将where条件移到子查询中并过滤所需的字段吗? -
是的,我可以,但这不适合我正在尝试使用的查询。以上是对它的简化,就这么简单,当然,我可以简单地做到这一点。
标签: sql postgresql postgresql-9.1 sqldatatypes