Farhaan Patel Asked: 2018-05-22 00:57:49 +0800 CST2018-05-22 00:57:49 +0800 CST 2018-05-22 00:57:49 +0800 CST sql中如何在另一个表的单列中插入多列 772 我有下表: 然后我想得到以下内容: 我想在 postgres 中实现这一点。我应该怎么办? postgresql unpivot 1 个回答 Voted Best Answer Daniel Vérité 2018-05-22T09:25:05+08:002018-05-22T09:25:05+08:00 在 JSON 函数的帮助下,可以轻松地对表格数据进行反透视。 下面的查询将起作用,假设tablename替换为您的表名,并且primary_key是数据透视列的名称。其他列不必指定,它们是通过json_each_text应用到row_to_json应用到所有行自动获得的。 SELECT primary_key, key, value FROM (select row_to_json(t.*) AS line, primary_key FROM tablename AS t) AS r JOIN LATERAL json_each_text(r.line) ON (key <> 'primary_key')
在 JSON 函数的帮助下,可以轻松地对表格数据进行反透视。
下面的查询将起作用,假设
tablename
替换为您的表名,并且primary_key
是数据透视列的名称。其他列不必指定,它们是通过json_each_text
应用到row_to_json
应用到所有行自动获得的。