TransposingMatrix icon indicating copy to clipboard operation
TransposingMatrix copied to clipboard

The detailed explanation could be found on Red Gate SimpleTalk's link 'An Easier Way of Transposing Query Result in SQL Server' https://www.red-gate.com/simple-talk/sql/t-sql-programming/easier-way-t...

:white_check_mark: To transpose query results

-EXEC MATRIX.TRANSPOSING @query = N'SELECT * FROM SYS.DATABASES';

:white_check_mark: To save transposing query results in a temporary or permanent table.

+The table will be created inside the stored procedure, and after that, you have to drop the table manually. 
+There is no need to create a temporary or a permanent table first. 
+The whole task is accomplished inside the stored procedure. 
+The account that executes stored procedure has to have "CREATE TABLE permission."
-EXEC MATRIX.TRANSPOSING  @query = N'SELECT * FROM sys.databases', @tableName = N'##tempTable';
+---The same result as in the first query
-SELECT * FROM ##tempTable;

:white_check_mark: To choose transposing column

+--The first column - the database name
-EXEC MATRIX.Transposing @Query = N'SELECT * FROM sys.databases' ,@Rco = 0;
+--The second column - the database ID
-EXEC MATRIX.Transposing @Query = N'SELECT * FROM sys.databases',@Rco = 1;

:white_check_mark: To filter before transposing

-EXEC MATRIX.Transposing @Query = N'SELECT * FROM sys.databases WHERE database_id >= @id1 AND database_id <= @id2;',
-                        @Params = N'@id1 int=1,@Id2 int=4';

:white_check_mark: To transpose with generic header ( key, value, value1 and so on )

-EXEC MATRIX.Transposing @Query = N'SELECT * FROM sys.databases;',@KeyValueOption = 1;

:white_check_mark: To transpose with custom header

-EXEC MATRIX.Transposing @Query = N'SELECT * FROM sys.databases;'
-					  ,@KeyValueOption = 1
-					  ,@ColumnMapping = N'Database name,Sys database master'