我想在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行ID数据类型与返回行ID数据类型不匹配。
2条答案
按热度按时间oogrdqng1#
也许这个能帮上忙。
此处需要
ORDER BY 1,2
。实际上,列应命名为:第一列第二列第三列第四列...
点击这里查看:http://rextester.com/MFWAW58518
3htmauhk2#
我最近需要这样做&没有
crosstab
可用。将需要适应OP数据集,但这里是我所做的: