Tuesday, June 19, 2012

SQL GROUP BY techniques


Normal Technique:

SELECT
  C.CustomerID, C.CustomerName, 
  C.CustomerType, C.Address1, C.City,
  C.State, SUM(S.Sales) as TotalSales
FROM
  Customers C
INNER JOIN Sales S
  ON C.CustomerID = S.CustomerID
GROUP BY
  C.CustomerID, C.CustomerName,
  C.CustomerType, C.Address1, C.City, C.State

Advanced Technique:

SELECT
  C.CustomerID, C.CustomerName,
  C.CustomerType, C.Address1, C.City,
  C.State, S.TotalSales
FROM
  Customers C
INNER JOIN
  (SELECT
     CustomerID, SUM(Sales) as TotalSales
   FROM
     Sales
   GROUP BY
     CustomerID) S
ON
  C.CustomerID = S.CustomerID

No comments:

Post a Comment