我有一個產生以下結果集視圖:Postgres的 - 與多個值列數據透視表/交叉
CREATE TABLE foo
AS
SELECT client_id, asset_type, current_value, future_value
FROM (VALUES
(1, 0, 10 , 20),
(1, 1, 5 , 10),
(1, 2, 7 , 15),
(2, 1, 0 , 2),
(2, 2, 150, 300)
) AS t(client_id, asset_type, current_value, future_value);
我需要把它改造成這樣:
client_id a0_cur_val a0_fut_val a1_cur_val a1_fut_val ...
1 10 20 5 10
2 NULL NULL 0 2
我知道如何如果我僅使用current_value
列,則使用交叉表執行此操作。如何使用current_value
和future_value
在目標結果集中生成新列?如果我只是將future_value
列添加到crosstab(text)
查詢中,它會抱怨「無效的源數據SQL語句」。
我使用PostgreSQL 9.3.6。
我如果有人認爲它可以幫助只用一個柱後的交叉表查詢。 –
發佈您迄今爲止/嘗試的內容總是有幫助的。 –