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