This kata was inspired by the join series found here
Given the above data,
Part 1
For each Customer, we want to return the total number of orders, the number of items ordered, the total order amount, and the total shipping cost.
| Customer | ItemCount | OrderAmount | OrderCount | 
|---|---|---|---|
| ABC | 6 | 725.00 | 3 | 
| DEF | 3 | 475.00 | 2 | 
Part 2
Now, display the total shipping cost per customer.
| Customer | customerName | City | STATE | OrderCount | ShippingTotal | ItemCount | OrderAmount | 
|---|---|---|---|---|---|---|---|
| ABC | ABC Corporation | Boston | MA | 3 | 95.00 | 6 | 725.00 | 
| DEF | The DEF Foundation New York City | NY | 2 | 20.00 | 3 | 475.00 | 
Code to create the data…
CREATE TABLE Orders (
	OrderID INT PRIMARY KEY
	,Customer VARCHAR(10)
	,OrderDate DATETIME
	,ShippingCost MONEY
	)
CREATE TABLE OrderDetails (
	DetailID INT PRIMARY KEY
	,OrderID INT REFERENCES Orders(OrderID)
	,Item VARCHAR(10)
	,Amount MONEY
	) 
CREATE TABLE Customers (
	Customer VARCHAR(10) PRIMARY KEY
	,CustomerName VARCHAR(100) NOT NULL
	,City VARCHAR(100) NOT NULL
	,STATE VARCHAR(2) NOT NULL
	)
go
INSERT INTO Orders  
select 1,'ABC', '2007-01-01', 40 union all 
select 2,'ABC', '2007-01-02', 30 union all 
select 3,'ABC', '2007-01-03', 25 union all 
select 4,'DEF', '2007-01-02', 10 union all
select 5,'DEF', '2007-01-04' ,10
insert into OrderDetails 
select 1, 1, 'Item A', 100 union all 
select 2, 1, 'Item B', 150 union all 
select 3, 2, 'Item C', 125 union all 
select 4, 2, 'Item B', 50 union all 
select 5, 2, 'Item H', 200 union all 
select 6, 3, 'Item X', 100 union all 
select 7, 4, 'Item Y', 50 union all 
select 8, 4, 'Item Z', 300 union all
select 9 ,5 ,'Item J', 125
INSERT INTO Customers 
SELECT 'ABC' ,'ABC Corporation' ,'Boston' ,'MA' UNION ALL 
SELECT 'DEF' ,'The DEF Foundation' ,'New York City' ,'NY'