SQL(进行中的数据库)-如何透视(转置)表

SQL(进行中的数据库)-如何透视(转置)表,sql,progress-4gl,openedge,progress-db,Sql,Progress 4gl,Openedge,Progress Db,我是SQL新手,我一直在进度数据库上使用SQL(我确信它使用SQL92) 电流输出: 所需输出: 进度(或者至少我的不支持PIVOT) 我有以下代码: Select Account, SUM(CASE WHEN AccMonth = '201703' THEN Amount END) AS "201703", SUM(CASE WHEN AccMonth = '201702' THEN Amount END) AS "201702", SUM(CASE WHEN AccMonth = '2

我是SQL新手,我一直在进度数据库上使用SQL(我确信它使用SQL92)

电流输出:

所需输出:

进度(或者至少我的不支持
PIVOT

我有以下代码:

Select Account,

SUM(CASE WHEN AccMonth = '201703' THEN Amount END) AS "201703",
SUM(CASE WHEN AccMonth = '201702' THEN Amount END) AS "201702",
SUM(CASE WHEN AccMonth = '201701' THEN Amount END) AS "201701"


FROM

(
Select pub."GL_Table"."AccNum_Col" AS "Account", pub."GL_Table"."AccMnth_Col" AS "AccMonth", Sum(pub."GL_Table"."Amount_Col") AS "Amount"
FROM pub."GL_Table"
GROUP BY pub."GL_Table"."AccNum_Col", pub."GL_Table"."AccMnth_Col"
) AS tempTB


GROUP BY Account

你不想做聚合

试试这个:

select account,
    case when accmonth = 201701 then amount end as "201701",
    case when accmonth = 201702 then amount end as "201702",
    case when accmonth = 201703 then amount end as "201703"
from your_table;

请不要以图片形式发布您的样本数据。打出几张有价值的唱片。这里有很多人无法帮助您,因为他们看不到数据。