标签: microsoft-query

Oracle SQL:在多个列/字段上进行透视

我想创建一个表,其中各列的条目"旋转"到列标题.该表用于报告目的 - 我的用户希望通过Excel(使用Microsoft Query)查询数据,问题是在Excel中进行数据透视会使文件变得非常大且速度慢,即使对于中等大小的数据集(~100k数据点) ).

请考虑以下示例:

CREATE TABLE tt
(   
  "COMMODITY" VARCHAR2(4000 BYTE), 
  "MARKET"    VARCHAR2(4000 BYTE), 
  "BID_ASK"   VARCHAR2(4000 BYTE), 
  "PRICE"     NUMBER
);

INSERT INTO tt VALUES ('Gold','US','Ask',1.1);
INSERT INTO tt VALUES ('Gold','US','Bid',1);
INSERT INTO tt VALUES ('Gold','EU','Ask',1.2);
INSERT INTO tt VALUES ('Gold','EU','Bid',1.1);
INSERT INTO tt VALUES ('Oil','US','Ask',11);
INSERT INTO tt VALUES ('Oil','US','Bid',10);
INSERT INTO tt VALUES ('Oil','EU','Ask',12);
INSERT INTO tt VALUES ('Oil','EU','Bid',11);
Run Code Online (Sandbox Code Playgroud)

我想要实现的输出类似于(确切的列标题并不重要):

COMMODITY   'US_Bid'    'US_Ask'    'EU_Bid'    'EU_Ask'
Gold         1           1.1         1.1        1.2
Oil          10          11          11         12
Run Code Online (Sandbox Code Playgroud)

现在可以直接转动单个列:

SELECT …
Run Code Online (Sandbox Code Playgroud)

sql oracle microsoft-query

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

microsoft-query ×1

oracle ×1

sql ×1