-
-
Save butler1233/d66e615b2c293beac2608a4d9e58b0d9 to your computer and use it in GitHub Desktop.
A kinda painful SELECT Statement
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SELECT | |
iif(it.OriginalTitle is null,iif(el.IsVariation = 'True' OR elo.IsVariation = 'True',elvis.ItemTitle,iif(el.ItemTitle is null,iif(elo.ItemTitle is null,'Unknown Title',elo.ItemTitle),el.ItemTitle)),it.OriginalTitle) as UltimateTitle | |
,od.Source as Source | |
,od.Subsource as SubSource | |
,oi.ChannelSku as ChannelSku | |
,SUM(oi.nqty) as ItemsSold | |
,COUNT(od.nOrderId) as OrderCount | |
,SUM(iif((ol.OrderLineCount > 1) OR (oi.nqty>1),1,0)) as MultiOrderCount | |
,SUM(iif(ml.OtherOrderLines is null,0,1)) as MixedOrders | |
,AVG(oi.fPricePerUnit) as AveragePricePer | |
,MIN(od.fPostageCost) as MinimumShipping | |
,MAX(od.nOrderId) as ExampleOrder | |
,si.ItemNumber as Sku | |
,IIF(od.source='EBAY', oi.ItemNumber, cl.ChannelReferenceId) as ebItemNumber | |
FROM [dbo].[orderItem] oi | |
JOIN [dbo].[order] od on oi.fkOrderId=od.pkOrderId | |
JOIN (SELECT COUNT(*) as OrderLineCount, fkOrderId from [dbo].[orderItem] where fPricePerUnit > 0 group by fkOrderID ) ol on ol.fkOrderID = oi.fkOrderID | |
JOIN [dbo].[stockItem] si on si.pkStockItemId=oi.fkStockItemId_Processed | |
LEFT JOIN [order].[item_channel_title] it on oi.fkChannelTitleId=it.pkTitleId --Amazon title: it.OriginalTitle | |
LEFT JOIN [dbo].[Stock_ChannelList] cl on cl.ItemTitle=it.OriginalTitle and cl.Source = od.Source and cl.SubSource = od.SubSource | |
LEFT JOIN [dbo].Automation_eBayListing el on el.ItemNumber = oi.ItemNumber--eBay title for active listing: el.ItemTitle | |
LEFT JOIN [dbo].Automation_eBayListing elo on elo.RelistedFromItemNumber = oi.ItemNumber--eBay title for active listing: el.ItemTitle | |
LEFT JOIN [dbo].[Automation_EbayListing_Variaitions] elvis on elvis.fkStockItemId = oi.fkStockItemId_processed and elvis.ItemNumber = oi.ItemNumber and elvis.sku = oi.ChannelSKU | |
LEFT JOIN (SELECT fkOrderId, Count(*) as OtherOrderLines from [dbo].[orderitem] JOIN [dbo].[StockItem] on fkStockItemId_processed = pkStockItemId where not ({SkuSelector("StockItem.ItemNumber")}) and fPricePerUnit > 0 group by fkOrderId) ml on ml.fkOrderID = oi.fkOrderID | |
WHERE | |
od.dProcessedOn > '{_StartDate.ToString("yyyy-MM-dd")} 00:00:00' | |
and od.dProcessedOn < '{_EndDate.ToString("yyyy-MM-dd")} 23:59:59' | |
and ({SkuSelector("si.ItemNumber")}) | |
and oi.fPricePerUnit > 0 | |
GROUP BY | |
od.source | |
,od.SubSource | |
,iif(it.OriginalTitle is null,iif(el.IsVariation = 'True' OR elo.IsVariation = 'True',elvis.ItemTitle,iif(el.ItemTitle is null,iif(elo.ItemTitle is null,'Unknown Title',elo.ItemTitle),el.ItemTitle)),it.OriginalTitle) | |
,oi.ChannelSKU | |
,si.ItemNumber | |
,IIF(od.source='EBAY', oi.ItemNumber, cl.ChannelReferenceId) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment