我很想將您的幫助轉換爲連接此表的列。我試圖讓項目名稱(第1列)成爲它們自己的列標題,並輸入作爲列值的MUV值。SQL:在Chartio中動態地移動列作爲行
我已閱讀了關於此主題的20多個主題,但他們正在使用不同的SQL程序包和我無法使用的代碼。
理想的解決辦法修改這個查詢,以創建所需的查詢輸出:
當前查詢:
SELECT
cust_gae_account.project_name as "Project Name",
cust_be_project_usage.unique_visitor_count as "MUVs",
cust_be_project_usage.billing_period_start as "Month"
FROM
cust_be_project_usage
INNER JOIN
cust_gae_account
ON cust_gae_account.account_id = cust_be_project_usage.project_id
WHERE
cust_be_project_usage.admin_account_id = {ACCOUNT_ID}
當前查詢輸出:
Project Name | MUVs | Month
-----------------------------------------------------
ProjectAAAAAZ | 68000 | Jun 01, 2016
DynamicName | 3200 | Jun 01, 2016
ProjectAAAAAZ | 21000 | May 01, 2016
DynamicName | 4500 | May 01, 2016
CustomProject | 117000 | Jun 01, 2016
CustomProject | 118400 | May 01, 2016
所需的查詢輸出:
Project Name | CustomProject | ProjectAAAAAZ | DynamicName
-------------------------------------------------------------------
Jun 01, 2016 | 117000 | 68000 | 3200
May 01, 2016 | 118400 | 21000 | 4500
注:
- 我們通過Chartio使用PostgreSQL,我們只能使用基本SQL
- 我們不能使用自定義功能,遺憾的是
- 名稱和項目數量是動態的,從1到20不等
- MUV總是數字,沒有重複
哪些DBMS您使用的改變? –
我們正在使用PostgreSQL。我們不能使用自定義函數,只能查詢不幸 – Hazjier
您基本上想要一個數據透視表。你可以用'crosstab' https://www.postgresql.org/docs/9.1/static/tablefunc.html來完成,但是它會輸出一個靜態寬度的表格,其中包含預定義的列和類型。您需要在數據庫之外執行此操作。 或者,創建一個動態查詢,然後使用'EXECUTE'執行它# – AlexanderMP