UNPIVOT Function Examples | Teradata Vantage - Example: Unpivoted Sales and Cogs Columns - Advanced SQL Engine - Teradata Database

SQL Functions, Expressions, and Predicates

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
June 2020
Language
English (United States)
Last Update
2021-01-30
dita:mapPath
tpt1555966086716.ditamap
dita:ditavalPath
lze1555437562152.ditaval
dita:id
B035-1145
lifecycle
previous
Product Category
Teradata Vantage™

In this example, the sales and cogs columns are unpivoted.

SELECT *
FROM star1p UNPIVOT ((sales,cogs)  FOR  yr_qtr 
                          IN ((Q101Sales, Q101Cogs) AS ‘Q101’, 
                              (Q201Sales, Q201Cogs) AS ‘Q201’,
                              (Q301Sales, Q301Cogs) AS ‘Q301’)) Tmp;

The output for the unpivoted table:

country  state  yr_qtr        sales         cogs
-------  -----  ------  -----------  -----------
Canada   ON     Q201             10            0
Canada   ON     Q301             10            0
USA      NY     Q101             45           25
USA      CA     Q101             30           15
USA      CA     Q201             50           20

Note that a pivot combined with a matching unpivot may introduce rows with NULL values. It is possible to unpivot just the ‘yr’ column.