postgresql - Postgres错误:使用json字段时列不存在
问题描述
Postgres 版本 11.10
这是我使用 jsonb 字段的 postgres 架构
create table data(
key char(32), --md5
time int NOT NULL,
output jsonb NOT NULL,
PRIMARY KEY (key,time)
)
这是两个可以正常工作的查询
select distinct on(key) key from data ORDER BY key,time DESC
select distinct on(key) key,output from data ORDER BY key,time DESC
问题是这个查询
select distinct on(key) key,output-->details from data ORDER BY key,time DESC
我不断收到错误
“键”列不存在
知道为什么吗?
解决方案
--
开始一个持续到行尾的注释(请参阅问题中突出显示的语法)。所以有效的查询是
select distinct on(key) key,output
由于它没有FROM
子句,因此列引用key
会导致错误。
您可能正在寻找->>
运营商:
select distinct on(key)
key,
output ->> 'details'
from data
ORDER BY key,time DESC;
推荐阅读
- java - Spring ConfigurationProperties 问题
- scala - 使用 Avro 构建 Apache Spark 的问题
- php - 如何从网站向移动设备拨打 VOIP 电话?
- vb.net - 在 CE 窗体(Windows 窗体)内启动应用程序/游戏
- javascript - 将字符串中给定索引处的字母变为大写
- javascript - 指示内容 jquery 表上的顶部标题
- java - 如何将实时音频流拆分为单独的通道并保存到文件?
- node.js - 赛普拉斯:未捕获的 CypressError:无法在正在运行的测试之外调用“cy.get()”
- php - 有没有办法在 silverstripe 表单字段周围添加包装器 div
- r - 如何按特定列分组并根据另一列选择前 80 个百分位数