Integrating the sql statement into the code
protected override void OnStart()
{
start.Value = u.mTime();
Cached<Delete1>().Run();
if (ENV.Data.DataProvider.BtrieveMigration.UseBtrieve)
{
Cached<CollectOrderDetails>().Run();
}
else
{
Shared.DataSources.Northwind1.Execute(@"Insert into CategorySales (Year, CategoryID, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, +Oct, Nov, Dec)
select year,CategoryID,
sum(case when month=1 then rowTotal else 0 end) Jan,
sum(case when month=2 then rowTotal else 0 end) Feb,
sum(case when month=3 then rowTotal else 0 end) Mar,
sum(case when month=4 then rowTotal else 0 end) Apr,
sum(case when month=5 then rowTotal else 0 end) May,
sum(case when month=6 then rowTotal else 0 end) Jun,
sum(case when month=7 then rowTotal else 0 end) Jul,
sum(case when month=8 then rowTotal else 0 end) Aug,
sum(case when month=9 then rowTotal else 0 end) Sep,
sum(case when month=10 then rowTotal else 0 end) Oct,
sum(case when month=11 then rowTotal else 0 end) Nov,
sum(case when month=12 then rowTotal else 0 end) Dec
from
(select od.OrderID,p.CategoryID , year(o.OrderDate) year, month+(o.OrderDate) month,
round(od.UnitPrice * od.Quantity
*isnull( (select top 1 rate from ExchangeRate er
where er.Currency = 'USD' and er.EffectiveDate <=o.OrderDate
order by er.EffectiveDate desc),1),2)
rowTotal
from [Order Details] od
left outer join Products p on p.ProductID = od.ProductID
left outer join Orders o on o.OrderID = od.OrderID) rawData
group by year,CategoryID
order by year,CategoryID");
}
Message.ShowWarning(u.Str((u.mTime() - start) / 1000, "3.3"));
new Browse_CategorySales().Run();
}
Help us improve, Edit this page on GitHub
or email us at info@fireflymigration.com