Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql从包含数组行数与数组中行数相同的表中进行选择_Sql_Database_Postgresql - Fatal编程技术网

Postgresql从包含数组行数与数组中行数相同的表中进行选择

Postgresql从包含数组行数与数组中行数相同的表中进行选择,sql,database,postgresql,Sql,Database,Postgresql,我在Postgesql的select请求中遇到问题 我有一张桌子 +-------------------+-----+ | array |value| +-------------------+-----+ |["1","k"] | 35| +-------------------+-----+ |["125","15l","1m"] | 40| +-------------------+-----+ 我想要的是: +------------

我在Postgesql的select请求中遇到问题 我有一张桌子

+-------------------+-----+
|      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没有问题,考虑投票;