【发布时间】:2019-10-03 04:00:42
【问题描述】:
我想在 PostgreSQL 中将行转换为列。我希望所有变量都针对它们各自的 id。但它不起作用。
预期输出:
myvar desc fname lname sdate edate id
title1 desc1 cina jhon 1483920000000 1484524800000 14
title2 desc2 jhon lname2 1483920000000 1483910000000 16
title3 desc3 diesel zier 1483920000000 1484524800000 17
SELECT * FROM crosstab(
'SELECT name, value, id FROM test ORDER BY id') AS (
"myVar" text, "desc" text, "fname" text, "lname" text,"sdate" text,"edate" text, "value" text ,"containerid" bigint);
错误: 错误:无效的返回类型 SQL 状态:42601 详情:SQL rowid 数据类型与返回的 rowid 数据类型不匹配。
【问题讨论】:
-
预期结果是什么?
-
我有编辑问题。
-
请输入此图表。请勿粘贴图片。只需输入
TABLE test;并将输出放在这里。更好的是,如果您真的关心并想要投票……粘贴 DDL。CREATE TABLE AS SELECT,你会得到快乐。
标签: postgresql crosstab