Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/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
Sql Postgres将列名和值作为给定ID的行获取_Sql_Postgresql - Fatal编程技术网

Sql Postgres将列名和值作为给定ID的行获取

Sql Postgres将列名和值作为给定ID的行获取,sql,postgresql,Sql,Postgresql,我有一张这样的桌子 CREATE TABLE measurement ( city_id int not null PRIMARY KEY, logdate date not null, peaktemp int, unitsales int ) select * from measurement where city_id ='1'; Name |Value ---------|---------- city_id |1 logdate |2006-02-02 peak

我有一张这样的桌子

CREATE TABLE measurement (
 city_id int not null PRIMARY KEY,
 logdate date not null,
 peaktemp int,
 unitsales int
)
select * from measurement where city_id ='1';

Name     |Value
---------|----------
city_id  |1
logdate  |2006-02-02
peaktemp |1
unitsales|1
我需要像这样获取给定ID的值

CREATE TABLE measurement (
 city_id int not null PRIMARY KEY,
 logdate date not null,
 peaktemp int,
 unitsales int
)
select * from measurement where city_id ='1';

Name     |Value
---------|----------
city_id  |1
logdate  |2006-02-02
peaktemp |1
unitsales|1

有什么简单的方法可以实现这一点。

您可以将行转换为json,然后使用json\u根据需要转换数据:

SELECT
  kv.key
, kv.value

FROM measurement 
   , json_each(row_to_json(measurement.*)) kv

WHERE city_id = 1

你试过枢轴吗?@Atk我没试过。meI可以在sql server中帮助您,但是如果您想在postgresql中使用它,那么我将无法提供帮助。在
psql
中,您只需使用
\x
即可。谢谢。我不是在寻找json表示。我正在寻找类似数组等的原样表示。这可以修改吗?@Patan:你有没有运行过那条语句?它不输出JSON。“这正是你想要的。”一匹没有名字的马我跑了。对于数组列,它的表示形式为[“a”],其中在db中实际上是{“a”}耸肩。因此数组的显示略有不同。那又怎么样?这只是为了便于阅读而显示数据的另一种方式,你为什么要在意呢?@a_horse_和a_no_name稍后我计划使用key作为列名和值来更新同一个表。我计划动态实现所有这些。