17.10 - 例: PIVOT結果から2つの列を集約 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-JPN
Language
日本語 (日本)

この例では、各年の1月と2月の売り上げを合計する方法を示します。ここでは、PIVOT結果から2つの列を集約しています。

s1テーブルは次のように定義されています。
CREATE TABLE s1 (yr INTEGER, mon VARCHAR(20), sales INTEGER);
テーブルには次の内容が含まれます。
SELECT * FROM s1;
yr      mon      sales
-----   ---      -----
2001    Jan       100
2003    Jan       300
2002    Jan       150
2001    Feb       110
2003    Feb       310
2002    Feb       200
2001    Mar       120
2002    Mar       250
PIVOTクエリーは次のとおりです:
SELECT * FROM s1 PIVOT(SUM(SALES) FOR MON IN ('JAN', 'FEB', 'MAR')
  WITH SUM("'JAN'", "'FEB'") AS AGGR1 ) DT
order by 1;
AGGR1は、集約された結果列の名前です。
出力:
      yr        'JAN'        'FEB'        'MAR'        AGGR1
--------  -----------  -----------  -----------  -----------
    2001          100          110          120          210
    2002          150          200          250          350
    2003          300          310            ?          610