postgresql - 访问列数组并将其存储在新表中
问题描述
我有一张这样的桌子:
| id | cars | owner |
|----|--------------------------|----------------|
| 1 | {tesla, bmw, mercedes} | Chris Houghton |
| 2 | {toyota, bmw, fiat} | Matt Quinn |
有没有办法访问汽车表数组 DISTINCT 值并将它们存储在没有重复值的新表中?
我想要这张桌子
| brands |
|--------|
| tesla |
| bmw |
|mercedes|
| toyota |
| fiat |
解决方案
我相信您正在寻找这种声明。
SELECT
DISTINCT
table_array.array_unnest
FROM (
SELECT
UNNEST(cars)
FROM
<table>
) AS table_array(array_unnest)
看演示
这确实有效,但我如何将它们存储在例如制造商表的“品牌”列中。
INSERT INTO
Manufactures
(brand)
SELECT
DISTINCT
table_array.array_unnest
FROM (
SELECT
UNNEST(cars)
FROM
<table>
) AS table_array(array_unnest)
看演示
推荐阅读
- javascript - 如何在有很多孩子的Vue中嵌套路由?
- angular - 尽管在 root 中提供了多个版本的服务
- javascript - 在 React 组件中滑动事件后停止 onClick 触发
- vue.js - 如何在我的数据过滤组件中包含 .filter 功能
- flutter - Flutter 等待小部件加载或等待设置
- ios - 通过 Xcode 使用 xcframework 时 iOS 模拟器崩溃
- google-api - 无法按 ID 获取特定的 YouTube 订阅
- ruby-on-rails - ActiveAdmin 降价编辑器
- centos7 - 努力在 CentOS7 上用 yum 安装 Puppetserver
- python - 使用 flask_socketio 将视频流式传输到 Flask 应用程序