【发布时间】:2021-08-11 03:15:15
【问题描述】:
我知道如何在 oracle 中旋转查询,但我需要按列对结果进行排序
这是桌子:
Customer_id Month Sales_amt Bill_amt
1 1 10 10
2 1 20 20
3 1 30 30
1 2 20 20
2 2 20 0
3 2 30 30
如果我做关键句
SELECT *
FROM t
PIVOT (
SUM(sales_amt) AS sales, SUM(bill_amt) AS bill FOR month IN (1,2)
);
结果是:
Customer_id 1_sales 1_bill 2_sales 2_bill
1 10 10 20 20
但我需要先获取销售列,然后是账单列
Customer_id 1_sales 2_sales 1_bill 2_bill
1 10 20 10 20
请问我怎样才能得到这个订单?
编辑:我需要以动态方式执行此操作,因为我将使用它来生成自动报告
【问题讨论】: