[英]PostgreSQL 9.6 crosstab, create pivot
在PostgreSQL 9.6中,如何從表格中的“導入”表中的鏈接下面...
創建一個查詢/函數,然后將其轉置為以下內容:
不幸的是,表“導入”沒有ID字段。 我嘗試將交叉表與tablefunc一起使用,但沒有效果。
您正在尋找交叉表或樞軸的對立面:您正在尋找非樞軸
在標准SQL中,您可以使用UNION ALL來執行此操作(除非DBMS支持Postgres不支持的unpivot
運算符):
select dlimportdate, 1 as colno, col1 as value
from the_table
union all
select dlimportdate, 2, col1
from the_table
union all
...
但是在Postgres中,有一種更短的方法可以做到這一點。 創建一個由列組成的數組,然后使用unnest將它們變成行:
select dlimportdate, t.colno, t.value
from the_table
cross join unnest(array[col1, col2, col3, ...]) with ordinality as t(value, colno);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.