| How to model a sales rebate incentive program? |
|
Execute the following T-SQL example scripts in Microsoft SQL Server Management Studio Query Editor to model a sales rebate program by varying the Rebate, OrderOver and Year parameters.
-- SQL calculate sales rebate - SQL inner join - group by rollup
USE AdventureWorks; DECLARE @Rebate INT, @OrderOver INT, @Year INT SET @Rebate = 100 SET @OrderOver = 1000 SET @Year = 2003 SELECT Store = isnull(s.Name,'Total'), Rebate = @Rebate * Count(* ) FROM Sales.Customer c INNER JOIN Sales.SalesOrderHeader O ON c.CustomerID = O.CustomerID INNER JOIN Sales.Store s ON c.CustomerID = s.CustomerID WHERE year(OrderDate) = @Year GROUP BY s.Name, c.CustomerID WITH ROLLUP HAVING @OrderOver <= ALL (SELECT sum(SubTotal) FROM Sales.SalesOrderHeader oh INNER JOIN Sales.SalesOrderDetail od ON oh.SalesOrderID = od.SalesOrderID WHERE CustomerID = c.CustomerId AND year(OrderDate) = @Year GROUP BY oh.SalesOrderId) ORDER BY s.Name GO /* Partial results Store Rebate Total 152400 A Great Bicycle Company 200 Accessories Network 200 Acclaimed Bicycle Company 200 Acclaimed Bicycle Company 200
*/
------------
|
| |
| SQLUSA.com
Home Page |
|
|
SQL Server Training at www.sqlusa.com.
Microsoft SQL Server 2012 Training Videos at www.sqlusa.com.
SQL Server 2008 Video Training at www.sqlusa.com.
SQL Server 2005 Training Videos at www.sqlusa.com.
|
|
|
FREE SS SQL / BI OLAP Short Videos on YOUTUBE.com |
|
Search SQLUSA FREE SQL Server Articles & FREE T-SQL Scripts |
Copyright 2005-2012, SMI Corp. All Rights Reserved.
SQL Server 2012 is a program product of Microsoft Corporation. SQL Server 2008 is a program product of Microsoft Corporation. SQL Server 2005 is a program product of Microsoft Corporation. SQL Server 2000 is a program product of Microsoft Corporation. |
|