PIVOT (SQL Server)
PIVOT (SQL Server) is a SQL statement in the SQL Server Specific category. SQL Server: specific T-SQL PIVOT implementation. Rotates unique column values into separate columns. The syntax is SELECT ... FROM source PIVOT (agg(col) FOR pivot_col IN (value_list)) AS alias;. It returns pivoted/pivot result. A typical example: SELECT * FROM ( SELECT year, quarter, revenue FROM sales_data ) src PIVOT ( SUM(revenue) FOR quarter IN ([Q1], [Q2], [Q3], [Q4]) ) AS pvt; -- Years become rows, quarters become columns with revenue values -- Unpivot (columns back to rows): SELECT year, quarter, revenue FROM yearly_sales UNPIVOT ( revenue FOR quarter IN (Q1, Q2, Q3, Q4) ) AS unpvt; A close relative is OUTPUT Clause, which sQL Server: returns values from DML statements (like PostgreSQL RETURNING). A close relative is STUFF(), which sQL Server: deletes a specified length of characters from a string and inserts another string at the start position.