Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
jaybee
Yak Posting Veteran
72 Posts |
Posted - 2008-03-28 : 11:24:23
|
| Hi all,Here's the code I'd like to update, and below it a set of sample data:Declare @StartDate DateTimeDeclare @EndDate DateTimeSet @StartDate = '20-mar-2008'Set @EndDate = '25-mar-2008'SELECT COUNT (iqs.childid) as Cnt , CASE --Search Categories and Create Initial Groupings-- WHEN Category LIKE '%Jewel%' THEN 'Accessories' WHEN Category LIKE '%Beauty%' THEN 'Accessories' WHEN Category LIKE '%Accs%' THEN 'Accessories' WHEN Category LIKE '%Gift%' THEN 'Accessories' WHEN Category LIKE '%Grooming%' THEN 'Accessories' WHEN Category LIKE '%Female%Prem%Brands%' THEN 'WomensPremiumOutsideBrand' WHEN Category LIKE '%Female%Prem%OB%' THEN 'WomensPremiumOwnBrand' WHEN Category LIKE '%Female%Brand%' THEN 'WomensOutsideBrand' WHEN Category LIKE '%Female%OB%%' THEN 'WomensOwnBrand' WHEN Category LIKE '%Female%' THEN 'Womenswear' WHEN Category LIKE '%Male%Prem%Brands%' THEN 'MensPremiumOutsideBrand' WHEN Category LIKE '%Male%Prem%OB%' THEN 'MensPremiumOwnBrand' WHEN Category LIKE '%Male%Brand%' THEN 'MensOutsideBrand' WHEN Category LIKE '%Male%OB%' THEN 'MensOwnBrand' WHEN Category LIKE '%Male%' THEN 'MensOwnBrand' END AS CategoryGroup , CONVERT(VARCHAR(10), iqs.StatusDate, 103) AS StatusDate FROM InventoryQueryStatus iqsJOIN InventoryStatus [is]ON [is].StatusID = iqs.StatusIDJOIN Inventory iON i.InventoryID = iqs.InventoryIDJOIN InventoryCategory icON ic.CategoryID = i.CategoryIDWHERE iqs.StatusID = 31000and Category NOT LIKE 'Force%'--AND iqs.StatusDate >=GETDATE()-1AND iqs.StatusDate BETWEEN @StartDate AND @EndDateGROUP BY CASE --Search Categories and Create Initial Groupings-- WHEN Category LIKE '%Jewel%' THEN 'Accessories' WHEN Category LIKE '%Beauty%' THEN 'Accessories' WHEN Category LIKE '%Accs%' THEN 'Accessories' WHEN Category LIKE '%Gift%' THEN 'Accessories' WHEN Category LIKE '%Grooming%' THEN 'Accessories' WHEN Category LIKE '%Female%Prem%Brands%' THEN 'WomensPremiumOutsideBrand' WHEN Category LIKE '%Female%Prem%OB%' THEN 'WomensPremiumOwnBrand' WHEN Category LIKE '%Female%Brand%' THEN 'WomensOutsideBrand' WHEN Category LIKE '%Female%OB%%' THEN 'WomensOwnBrand' WHEN Category LIKE '%Female%' THEN 'Womenswear' WHEN Category LIKE '%Male%Prem%Brands%' THEN 'MensPremiumOutsideBrand' WHEN Category LIKE '%Male%Prem%OB%' THEN 'MensPremiumOwnBrand' WHEN Category LIKE '%Male%Brand%' THEN 'MensOutsideBrand' WHEN Category LIKE '%Male%OB%' THEN 'MensOwnBrand' WHEN Category LIKE '%Male%' THEN 'MensOwnBrand' END , CONVERT(VARCHAR(10), iqs.StatusDate, 103)Order By StatusDateSample Data:164 WomensOutsideBrand 20/03/20085 MensOutsideBrand 20/03/200878 WomensOwnBrand 20/03/200892 WomensPremiumOutsideBrand 20/03/20081 Accessories 20/03/2008However, I'd like to enable a total for the day (340)Thanks,JB |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-03-28 : 11:36:58
|
[code]DECLARE @StartDate DATETIME, @EndDate DATETIMESELECT @StartDate = '20-mar-2008', @EndDate = '25-mar-2008'SELECT CategoryGroup, StatusDate, COUNT(*)FROM ( SELECT CASE WHEN Category LIKE '%Jewel%' THEN 'Accessories' WHEN Category LIKE '%Beauty%' THEN 'Accessories' WHEN Category LIKE '%Accs%' THEN 'Accessories' WHEN Category LIKE '%Gift%' THEN 'Accessories' WHEN Category LIKE '%Grooming%' THEN 'Accessories' WHEN Category LIKE '%Female%Prem%Brands%' THEN 'WomensPremiumOutsideBrand' WHEN Category LIKE '%Female%Prem%OB%' THEN 'WomensPremiumOwnBrand' WHEN Category LIKE '%Female%Brand%' THEN 'WomensOutsideBrand' WHEN Category LIKE '%Female%OB%%' THEN 'WomensOwnBrand' WHEN Category LIKE '%Female%' THEN 'Womenswear' WHEN Category LIKE '%Male%Prem%Brands%' THEN 'MensPremiumOutsideBrand' WHEN Category LIKE '%Male%Prem%OB%' THEN 'MensPremiumOwnBrand' WHEN Category LIKE '%Male%Brand%' THEN 'MensOutsideBrand' WHEN Category LIKE '%Male%OB%' THEN 'MensOwnBrand' WHEN Category LIKE '%Male%' THEN 'MensOwnBrand' END AS CategoryGroup, CONVERT(VARCHAR(10), iqs.StatusDate, 103) AS StatusDate FROM InventoryQueryStatus AS iqs INNER JOIN InventoryStatus AS [is] ON [is].StatusID = iqs.StatusID INNER JOIN Inventory AS i ON i.InventoryID = iqs.InventoryID INNER JOIN InventoryCategory AS ic ON ic.CategoryID = i.CategoryID WHERE iqs.StatusID = 31000 and Category NOT LIKE 'Force%' AND iqs.StatusDate >= @StartDate AND iqs.StatusDate < DATEADD(DAY, 1, @EndDate) ) AS dGROUP BY CategoryGroup, StatusDateWITH ROLLUPHAVING GROUPING(CategoryGroup) = 1 OR GROUPING(StatusDate) = 0ORDER BY StatusDate[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
|
|
|
|
|