See my query below and the results
(SELECT count(*) as Count, p.regionid, a.territory,
CASE WHEN DATEPART(day,p.prodate) < 8 THEN '1'
ELSE CASE WHEN DATEPART(day,p.prodate) < 15 then '2'
ELSE CASE WHEN DATEPART(day,p.prodate) < 22 then '3'
ELSE CASE WHEN DATEPART(day,p.prodate) < 29 then '4'
ELSE '5'
END
END
END
END as WeekNumber
from pros p
inner join
GTS_Account a
on a.locationGTSNo = p.BillToCustNo
where a.account like '%abc%' and
p.prodate between '2014-02-01' and '2014-02-28'
group by p.ProDate,p.regionid,a.territory)
results
βββββββββ¦βββββββββββ¦ββββββββββββ¦βββββββββββββ
β Count β regionid β territory β WeekNumber β
β ββββββββ¬βββββββββββ¬ββββββββββββ¬βββββββββββββ£
β 3 β LTL β 2 β 1 β
β 23 β RDFS β 2 β 1 β
β 10 β VOLUME β 2 β 1 β
β 22 β RDFS β 2 β 1 β
β 10 β VOLUME β 2 β 1 β
β 1 β EXP β 2 β 2 β
β 3 β LTL β 2 β 2 β
β 25 β RDFS β 2 β 2 β
β 11 β VOLUME β 2 β 2 β
β 1 β BRK β 2 β 2 β
β 6 β VOLUME β 2 β 2 β
β 1 β BRK β 2 β 3 β
β 4 β EXP β 2 β 3 β
β 1 β LTL β 2 β 3 β
β 20 β RDFS β 2 β 3 β
β 4 β EXP β 2 β 4 β
β 4 β LTL β 2 β 4 β
β 30 β RDFS β 2 β 4 β
β 15 β VOLUME β 2 β 4 β
βββββββββ©βββββββββββ©ββββββββββββ©βββββββββββββ
This shows data for every day of the week, I just want it to show the total for each region / per week, and not per day. Thanks
3-13-14 I would like to show the Month and Year column for this data, please below, it should show only one row for each region / week.
SELECT convert(nvarchar,DATEPART(YYYY,p.prodate)) + ' ' +
CASE WHEN DATEPART(month,p.prodate) = 1 THEN 'JAN'
WHEN DATEPART(month,p.prodate) = 2 THEN 'FEB'
WHEN DATEPART(month,p.prodate) = 3 THEN 'MAR'
WHEN DATEPART(month,p.prodate) = 4 THEN 'APR'
WHEN DATEPART(month,p.prodate) = 5 THEN 'MAY'
WHEN DATEPART(month,p.prodate) = 6 THEN 'JUN'
WHEN DATEPART(month,p.prodate) = 7 THEN 'JUL'
WHEN DATEPART(month,p.prodate) = 8 THEN 'AUG'
WHEN DATEPART(month,p.prodate) = 9 THEN 'SEP'
WHEN DATEPART(month,p.prodate) = 10 THEN 'OCT'
WHEN DATEPART(month,p.prodate) = 11 THEN 'NOV'
WHEN DATEPART(month,p.prodate) = 12 THEN 'DEC'
ELSE '6'
END AS MONTHnAME,
count(*) as Count, p.regionid,
CASE WHEN DATEPART(day,p.prodate) < 8 THEN '1'
WHEN DATEPART(day,p.prodate) < 15 then '2'
WHEN DATEPART(day,p.prodate) < 22 then '3'
WHEN DATEPART(day,p.prodate) < 29 then '4'
ELSE '5' + ' ' +convert(nvarchar,DATEPART(mm,p.prodate))
END as WeekNumber,a.territory,'rrts' from pros p inner join GTS_Account a on a.locationGTSNo = p.BillToCustNo
where a.account like '%rrts%' and
p.prodate between '2014-02-01' and '2014-02-28' group by
CASE
WHEN Datepart(day, p.prodate) < 8 THEN '1'
WHEN Datepart(day, p.prodate) < 15 THEN '2'
WHEN Datepart(day, p.prodate) < 22 THEN '3'
WHEN Datepart(day, p.prodate) < 29 THEN '4'
ELSE '5'
END
,p.prodate,a.territory, p.regionid
order by p.regionid, weeknumber
MONTHnAME Count regionid ( )
2014 FEB 1 BRK 1 0002 rrts
2014 FEB 1 BRK 2 0002 rrts
2014 FEB 1 BRK 2 0002 rrts
2014 FEB 1 BRK 3 0002 rrts
2014 FEB 2 BRK 4 0002 rrts
2014 FEB 1 BRK 4 0002 rrts
2014 FEB 1 DED 3 0002 rrts
2014 FEB 3 EXP 1 0002 rrts
2014 FEB 1 EXP 1 0002 rrts
2014 FEB 2 EXP 1 0002 rrts
2014 FEB 3 EXP 1 0002 rrts
2014 FEB 2 EXP 1 0002 rrts
2014 FEB 1 EXP 2 0002 rrts
2014 FEB 1 EXP 2 0002 rrts
2014 FEB 2 EXP 2 0002 rrts
2014 FEB 1 EXP 2 0002 rrts
2014 FEB 4 EXP 3 0002 rrts
2014 FEB 1 EXP 3 0002 rrts
2014 FEB 6 EXP 3 0002 rrts
2014 FEB 3 EXP 3 0002 rrts
2014 FEB 7 EXP 3 0002 rrts
2014 FEB 1 EXP 4 0002 rrts
2014 FEB 4 EXP 4 0002 rrts
2014 FEB 2 EXP 4 0002 rrts
2014 FEB 3 EXP 4 0002 rrts