Here's how you would construct this Pivot table in Sql Server:
| Product | Description | Aug00 | Sep00 | Oct00... |
| 01221 | 2 X 6 Box | 300 | 166 | 654 |
| 02143 | Paper Tray | 201 | 45 | 44 |
| 22156 | 3-Tier Bulletin Board | 0 | 664 | 58 |
| 01433 | Telephone Cable 14 | 26 | 23 | 31 |
Sql = "Select ORDERS.PROD_ID as Priduct,PROD_MASTER.DESCR as Description, "
For i = Months1.FromDateAsColumn To Months1.ToDateAsColumn
Sql = Sql + "SUM(CASE WHEN DATE_INV BETWEEN """
Sql = Sql + Format(Months1.MonthBegin(i), "mm/dd/yy") + """ and
"""
Sql = Sql + Format(Months1.MonthEnd(i), "mm/dd/yy") + """ "
Sql = Sql + "Then QTY_SHP ELSE 0 END ) "
Sql = Sql + "As "
Sql = Sql + Format(Months1.MonthBegin(i), "mmmyy") + ", "
Next i
Sql = Left(Sql, Len(Sql) - 2) + " " ' We added a space bar here, so strip it off
and the comma
Sql = Sql + "From ORDERS "
Sql = Sql + "Left Outer Join PROD_MASTER on "
Sql = Sql + "ORDERS.PROD_ID=PROD_MASTER.PROD_ID "
Sql = Sql + "Where INVOICE_DATE between """ ' Don't forget the #
here"
Sql = Sql + Format(Months1.FromDateAsDate, "mm/dd/yy") + """ and
"""
Sql = Sql + Format(Months1.ToDateAsDate, "mm/dd/yy") + """ "
Sql = Sql + "Group by BILL_ID,ORDERS.PROD_ID "
Results of this SQL Statement:
Select BILL_ID,ORDERS.PROD_ID, SUM(CASE WHEN DATE_INV BETWEEN "08/01/00" and "08/31/00" Then QTY_SHP ELSE 0 END ) As Aug00, SUM(CASE WHEN DATE_INV BETWEEN "09/01/00" and "09/30/00" Then QTY_SHP ELSE 0 END ) As Sep00, SUM(CASE WHEN DATE_INV BETWEEN "10/01/00" and "10/31/00" Then QTY_SHP ELSE 0 END ) As Oct00, SUM(CASE WHEN DATE_INV BETWEEN "11/01/00" and "11/30/00" Then QTY_SHP ELSE 0 END ) As Nov00, SUM(CASE WHEN DATE_INV BETWEEN "12/01/00" and "12/31/00" Then QTY_SHP ELSE 0 END ) As Dec00, SUM(CASE WHEN DATE_INV BETWEEN "01/01/01" and "01/31/01" Then QTY_SHP ELSE 0 END ) As Jan01, SUM(CASE WHEN DATE_INV BETWEEN "02/01/01" and "02/28/01" Then QTY_SHP ELSE 0 END ) As Feb01 From ORDERS Left Outer Join PROD_MASTER on ORDERS.PROD_ID=PROD_MASTER.PROD_ID Where INVOICE_DATE between "08/01/00" and "02/28/01" Group by BILL_ID,ORDERS.PROD_ID