我有一个包含以下字段的表:
Location,WeekEnded和SalesOrder
我想按位置求和,但有几个位置只有少量订单,我想将它们组合在一起作为一个位置,我似乎无法使代码正确。
Curent Results
我想要的是
目前的代码是
SELECT
Location,
WeekEnd,
sum(SOCount) as 'Sales Orders'
FROM SalesOrderHist
GROUP BY
Location,
WeekEnd
任何可以帮助我的人都会永远感激。
答案 0 :(得分:0)
在GROUP BY子句中使用CASE
答案 1 :(得分:0)
最终代码,以防这可能有助于某人。代码包含了相当多的内容,因此我将其缩小到仅包含重要内容。我对SQL有点新,所以可能有一种更有效的方法,但这对我有用。
SELECT
lname as Location,
WeekStart as 'Week Start',
SOCount
FROM
(
SELECT
WeekStart,
SOCount,
CASE
when cast(lname as varchar(40)) in ('Location A') then 'Location A'
when cast(lname as varchar(40)) in ('Location B') then 'Location B'
when cast(lname as varchar(40)) = 'Location C' then 'Location C'
when cast(lname as varchar(40)) not in ('Location A','Location B','Location C') then 'OTHER'
else cast(lname as varchar(40))
end as lname
FROM
BDO_salesorderhist_pickeddate2
GROUP BY
lname
) d
GROUP BY
lname