【问题标题】:SQL (in Progress Database) - How to Pivot (transpose) a tableSQL(进行中的数据库)- 如何透视(转置)表
【发布时间】:2017-05-22 15:34:57
【问题描述】:

我是 SQL 新手,我一直在 Progress 数据库上使用 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

【问题讨论】:

  • 请不要将您的示例数据发布为图片。打出几条记录值。这里有很多人无法帮助您,因为他们看不到数据。

标签: sql progress-4gl openedge progress-db


【解决方案1】:

你不想做聚合。

试试这个:

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;

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2021-03-10
    相关资源
    最近更新 更多