Я думаю, что в этом случае гораздо удобнее использовать cte. Я бы сделал это примерно так:
Сначала данные испытаний:
DECLARE @tbl TABLE(Customer VARCHAR(100),[Type] VARCHAR(10),[Count] INT)
INSERT INTO @tbl
VALUES
('Joe','Silver-S',1),
('Joe','Silver',7),
('Joe','Gold',3),
('Joe','Gold-S',2)
Запрос:
;WITH CTE AS
(
SELECT
tbl.Customer,
REPLACE(tbl.[Type],'-S','') AS [Type],
tbl.[Count]
FROM
@tbl AS tbl
)
SELECT
CTE.Customer,
CTE.[Type],
SUM(cte.[Count]) AS [Count]
FROM
CTE
GROUP BY
CTE.Customer,
CTE.[Type]