如何引用SQL匿名结构体(行类型)中的_field_1字段?
引用匿名行类型中
_field_1字段的方法 当你执行select (1,2) a生成匿名行类型后,直接通过a._field_1在子查询中引用会报错——原因是外层查询无法直接识别匿名行的内部字段结构,可通过以下方式解决:
给行内字段提前命名
定义行的字段名称后,外层可直接引用命名字段:select a.col1 from (select (1 as col1, 2 as col2) a) t用括号包裹行变量并指定子查询别名
通过(a)._field_1的语法提取字段,必须给子查询添加别名:select (a)._field_1 from (select (1,2) a) t括号能明确告知数据库
a是行类型,子查询别名则是PostgreSQL解析行类型字段的必要条件。通过JSON转换提取字段(多字段场景适用)
将行转为JSON后解析字段:select (row_to_json(a))._field_1 from (select (1,2) a) t
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

