Postgresql从包含数组行数与数组中行数相同的表中进行选择
我在Postgesql的select请求中遇到问题 我有一张桌子Postgresql从包含数组行数与数组中行数相同的表中进行选择,sql,database,postgresql,Sql,Database,Postgresql,我在Postgesql的select请求中遇到问题 我有一张桌子 +-------------------+-----+ | array |value| +-------------------+-----+ |["1","k"] | 35| +-------------------+-----+ |["125","15l","1m"] | 40| +-------------------+-----+ 我想要的是: +------------
+-------------------+-----+
| array |value|
+-------------------+-----+
|["1","k"] | 35|
+-------------------+-----+
|["125","15l","1m"] | 40|
+-------------------+-----+
我想要的是:+-------------------+-----+
| array |value|
+-------------------+-----+
| "1" | 35|
+-------------------+-----+
| "k" | 35|
+-------------------+-----+
| "125" | 40|
+-------------------+-----+
| "15l" | 40|
+-------------------+-----+
| "1m" | 40|
+-------------------+-----+
谢谢您可以使用unnest()
:
您可以使用unest()
:
您可以使用
unest
:
edb=# CREATE TABLE mt (a text[], val int);
CREATE TABLE
edb=# INSERT INTO mt VALUES (array['1','k'],35);
INSERT 0 1
edb=# INSERT INTO mt VALUES (array['125','151','1m'],40);
INSERT 0 1
edb=# SELECT unnest(a),val FROM mt;
unnest | val
--------+-----
1 | 35
k | 35
125 | 40
151 | 40
1m | 40
(5 rows)
select unnest(array), value
from table_name;
注意:我假设
“k”
的值应该是35。您可以使用unest
:
edb=# CREATE TABLE mt (a text[], val int);
CREATE TABLE
edb=# INSERT INTO mt VALUES (array['1','k'],35);
INSERT 0 1
edb=# INSERT INTO mt VALUES (array['125','151','1m'],40);
INSERT 0 1
edb=# SELECT unnest(a),val FROM mt;
unnest | val
--------+-----
1 | 35
k | 35
125 | 40
151 | 40
1m | 40
(5 rows)
select unnest(array), value
from table_name;
S.:我假设对于<代码>“k”<代码>,该值应该是35。< /P> @ SR9419没有问题,考虑一下投票;>SR9419没有问题,考虑投票;