json - 使用 JSONB 列 postgresql 中的值连接表
问题描述
我在 postgresql 中有两个表。
- 第一个(产品)有 sku json 行([149461190])
- 第二个(项目)有一个普通的 sku 列
我怎样才能在 sku 上加入他们?我试过这个,但它没有用。无法识别 joinSourcePart 中的 'jsonb_to_recordset' '(' 'ps' 附近的输入
select * from product ps
, jsonb_to_recordset(ps.sku -> 'ps_sku') as (sku text)
join item v using sku
解决方案
我希望这个查询对您有所帮助,您可以在dbfiddle中查看数据结构和示例数据
select
*
from
product p
cross join jsonb_array_elements_text(p.sku -> 'ps_sku') as j(sku)
inner join item i on i.sku = j.sku :: numeric
推荐阅读
- google-cloud-platform - 如何在 Google Cloud PubSub 上实现请求-响应模式?
- java - 不以 0 开头的数字的正则表达式
- java - 如何理解推理程序 ProgressMonitor 的输出?
- python - python 2和3之间的depot_tools冲突
- python - Dash 数据表下载到 Excel
- c# - 在 Jetbrains Rider 上构建时 Blazor App CS0103 错误,当使用 VisualStudio 时没有错误
- php - PHP Wordpress复选框问题
- java - 使用自定义键创建 KTable 时出错
- javascript - 更改类名称的函数的问题
- html - 完全滚动后粘页脚