Total Page Preview:   000000007014

PIVOT and UNPIVOT in SQL Server with Example

In this article we will learn convert row into the coloumn using PIVOT and convert coloumn in the row using UNPIVOT in sql server.

PIVOT Operator:

PIVOT operator which was introduced in SQL Server 2005. PIVOT relational operator convert data from row level to column level. PIVOT rotates a table-valued expression by turning the unique values from one column in the expression into multiple columns in the output. Using PIVOT operator we can perform aggregate operation where we required.

Example:

-----------Create Product Table----------

CREATE TABLE [dbo].[tblProducts]
(
     [ProductName] [varchar](50) NULL,
     [Quantity] [int] NULL,
     [City] [nvarchar](50) NULL
) ON [PRIMARY]
 
-------------------------Insert data into the Product talbe----------------------------------
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Laptop', 10, N'Noida')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Mobile', 12, N'Noida')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Desktop', 22, N'Noida')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Laptop', 23, N'Delhi')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Mobile', 34, N'Delhi')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Desktop', 7, N'Delhi')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Laptop', 87, N'Noida')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Mobile', 66, N'Noida')
INSERT [dbo].[tblProducts] ([ProductName], [Quantity], [City]) VALUES (N'Laptop', 45, N'Delhi')
 
------------------ Get all product records-------------------
SELECT City, ProductName, Quantity FROM tblProducts
 
------------------ Pivot on Product name column using order by city-------------------
SELECT City, Laptop, Mobile, Desktop
FROM (
SELECT City, ProductName, Quantity
FROM tblProducts
)  AS product
PIVOT 
(
SUM(Quantity)
FOR ProductName IN (Laptop, Mobile, Desktop)
) AS pvt ORDER BY City
 
OUTPUT:

 

UNPIVOT Operator:

The UNPIVOT operator which was introduced in SQL Server 2005. UNPIVOT relational operator is reverse process of PIVOT relational operator. UNPIVOT relational operator convert data from column level to row level.

Example:

-----------Create Product Table----------

CREATE TABLE [dbo].[ProductQuintity]
(
    [City] [varchar](50) NULL,
    [Laptop] [int] NULL,
    [Desktop] [int] NULL,
    [Mobile] [int] NULL
) ON [PRIMARY]
 
-------------------------Insert data into the Product talbe----------------------------------
INSERT [dbo].[ProductQuintity] ([City], [Laptop], [Desktop], [Mobile]) VALUES (N'Noida', 23, 65, 45)
INSERT [dbo].[ProductQuintity] ([City], [Laptop], [Desktop], [Mobile]) VALUES (N'Delhi', 45, 34, 65)
INSERT [dbo].[ProductQuintity] ([City], [Laptop], [Desktop], [Mobile]) VALUES (N'Mumbai', 45, 76, 76)
 
------------------ Get all product records-------------------
SELECT City, Laptop, Desktop, Mobile FROM ProductQuintity
 
--------Convert (Laptop, Desktop and Mobile) coloumn into the row using UNPIVOT--------
SELECT ProductName, TotalQuintity, City
FROM  ProductQuintity
UNPIVOT 
(
    TotalQuintity
    FOR ProductName IN (Laptop, Mobile, Desktop)
)  AS pvt ORDER BY ProductName
 

OUTPUT:

UNPIVOT In SQL Server

Thank You,

Thank You

About Author

Brijesh Kumar

Database Developer

I have more then 6 years Experience in Microsoft Technologies - SQL Server Database, ETL Azure Cloud - Azure SQL Database, CosmosDB, Azure Data Factory, PowerBI, Web Job, Azure Function, Azure Storage, Web Apps, Powershall and Database Migration On-Premise to Azure Cloud.
LinkedIn : https://www.linkedin.com



Comments


                           
                           

                           

                           

Recent Posts

How to get the alternate rows or records from table in sql server
07-Jun-2017
Data Warehouse Three Tier Architecture
20-Aug-2017
SQL Server - Fragmentation on azure sql database
07-Oct-2018
Limitations of Azure SQL Database
19-Sep-2019
PIVOT and UNPIVOT in SQL Server with Example
29-Jun-2017
SQL Server - Find unused indexes on azure SQL database scripts
02-Oct-2018
SQL Server - Find all index with key columns on Azure SQL Database
02-Oct-2018
Find Resource usage in Azure SQL Database using script or T-SQL
07-Oct-2018
How to Set client IP Address using the firewall security in Azure SQL Using Portal
29-Jun-2017
What are the types of User Define Function and difference between a nested UDF and recursive UDF in SQL server?
10-Sep-2021
Top 60 SQL Server Interview Questions Answers for freshers and experienced
17-Sep-2021
Top 16 performance query optimization techniques in SQL Database?
16-Sep-2021
What is a Trigger and type of trigger in SQL server?
10-Sep-2021
How many types of dimension tables available in data warehouse?
16-Sep-2021
Data warehouse Interview Questions Answers for freshers and experienced
16-Sep-2021
What are the differences between OLTP and OLAP?
07-Sep-2021
What is Table Variable? Explain its advantages and disadvantages?
10-Sep-2021
What are the different types of Error Handling in SQL Server?
11-Sep-2021
Cloud Data Engineer SQL Server Interview Questions Answers for freshers and experienced
31-Aug-2021
What are characteristics and advantages of stored procedure?
10-Sep-2021

Facebook User: