例: PIVOT結果から2つの列を集約 - Teradata Database - Teradata Vantage NewSQL Engine - PIVOT関数の例。

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.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