我有一张这样的桌子:
| id | cars | owner |
|----|--------------------------|----------------|
| 1 | {tesla, bmw, mercedes} | Chris Houghton |
| 2 | {toyota, bmw, fiat} | Matt Quinn |
是否可以访问汽车表数组的DISTINCT值并将其存储在没有重复值的新表中?
我想要这张桌子
| brands |
|--------|
| tesla |
| bmw |
|mercedes|
| toyota |
| fiat |
答案 0 :(得分:2)
我相信您正在寻找这种说法。
SELECT
DISTINCT
table_array.array_unnest
FROM (
SELECT
UNNEST(cars)
FROM
<table>
) AS table_array(array_unnest)
请参阅demo
这确实有效,但是如何将它们存储在例如列中 表制造商的“品牌”。
INSERT INTO
Manufactures
(brand)
SELECT
DISTINCT
table_array.array_unnest
FROM (
SELECT
UNNEST(cars)
FROM
<table>
) AS table_array(array_unnest)
请参阅demo