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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/tpt1555966086716.ditamap
dita:ditavalPath
ja-JP/tpt1555966086716.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

この例では、各年の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