小编cal*_*801的帖子

在同一查询中重用相关子查询的结果

我有 4 张桌子(实际上我还有很多想要做的事情......但这就是我开始的地方)。

  • distr_catalogs: 有很多distr_catalog_brandsdistr_catalog_system_types
  • distr_catalog_brands: 属于distr_catalogs
  • distr_catalog_system_types: 属于distr_catalogs
  • brand_catalog_sections: 属于distr_catalog_brandsdistr_catalog_system_types

我想创建一个物化视图,其列是:

catalog_id | catalog_name | brand_ids | system_type_ids | catalog_sections
Run Code Online (Sandbox Code Playgroud)
  • catalog_id&catalog_name从桌子上distr_catalog
  • brand_ids包含与目录相关的品牌 ID 数组
  • system_type_ids保存与目录相关的系统类型 ID 的数组
  • catalog_sectionsbrand_ids包含与和相关的品牌目录部分 ID 的数组system_type_ids

除了最后一个之外,我可以做所有的事情:

CREATE MATERIALIZED VIEW catalog_system_brands AS
select dc.id as catalog_id, dc.catalog_name, 
ARRAY(SELECT brand_id FROM distr_catalog_brands WHERE distr_catalog_id = dc.id) as brands,
ARRAY(SELECT id FROM distr_catalog_system_types WHERE display_status …
Run Code Online (Sandbox Code Playgroud)

postgresql join subquery

3
推荐指数
1
解决办法
1716
查看次数

标签 统计

join ×1

postgresql ×1

subquery ×1