datetime tune date into pad dynamic cursor money percent sp job isnumeric while over update
FREE TRIAL  SQL 2012 PROGRAMMING  SEARCH
SQL Server Scripts SQL 2005 SQL 2008 Articles
SQL JOBS NEWS FORMAT DEV JOBS
How to combine GROUP BY with CTE?

Execute the following Microsoft SQL Server T-SQL script in SSMS Query Editor to demonstrate the use of GROUP BY on a CTE to create summary report.

-- SQL Server CTE - T-SQL CTE - SQL Server Common Table Expression

-- SQL Server GROUP BY with CTE

USE AdventureWorks2008;

WITH cteSales AS

(

  SELECT

         p.[FirstName] + ' ' + COALESCE(p.[MiddleName], '') + ' ' +

         p.[LastName] AS [FullName]

        ,e.[JobTitle]

        ,st.[Name] AS [SalesTerritory]

        ,soh.[SubTotal]

        ,YEAR(DATEADD(m, 6, soh.[OrderDate])) AS [FiscalYear]

        ,soh.[SalesPersonID]

    FROM [Sales].[SalesPerson] sp

        INNER JOIN [Sales].[SalesOrderHeader] soh

                  ON sp.[BusinessEntityID] = soh.[SalesPersonID]

        INNER JOIN [Sales].[SalesTerritory] st

                  ON sp.[TerritoryID] = st.[TerritoryID]

        INNER JOIN [HumanResources].[Employee] e

                  ON soh.[SalesPersonID] = e.[BusinessEntityID]

        INNER JOIN [Person].[Person] p

                  ON p.[BusinessEntityID] = sp.[BusinessEntityID]

)

 

SELECT SalesTerritory, FiscalYear, FullName,

      Total = '$'+convert(varchar,SUM([SubTotal]),1)

FROM cteSales c

GROUP BY SalesTerritory, FiscalYear, FullName

ORDER BY SalesTerritory, FiscalYear, FullName

GO

 

 

Partial results:

SalesTerritory FiscalYear FullName Total
Australia 2004 Lynn N Tsoflias $1,758,385.93
Canada 2002 Garrett R Vargas $1,135,639.26
Canada 2002 José Edvaldo Saraiva $2,532,500.91
Canada 2003 Garrett R Vargas $1,480,136.01
Canada 2003 José Edvaldo Saraiva $1,488,793.34

 

 

Exam Prep 70-461
Exam 70-461