Я пытаюсь создать запрос, который выберет команду из объявленной переменной, а затем сделает оставшиеся команды «анонимными», предоставив им общие бренды и последовательные идентификаторы.
Например, если в моем наборе данных есть 3 разных названия команд (ABC, DEF и GHI), но я бы хотел, чтобы отображалось только истинное значение 1 выбранной команды (ABC). Вот скелет запроса, с которым я работаю:
SET @teamid = 123;
SELECT CASE WHEN ID = @teamid
THEN NAME
ELSE 'Team' + ' - ' + SEQ
END AS 'Team Name',
SUM(TOTAL) AS 'Team Total'
FROM TEAM
GROUP BY 1;
Я хотел бы, чтобы результаты выглядели примерно так:
Team Name: Team Total:
ABC 100
Team - 1 50
Team - 2 150
Как я могу создать запрос, который создаст уникальный номер, которым я могу заменить исходное название команды? Я знаю, что мне нужно заменить часть «SEQ» оператора case, но я не уверен, чем именно ее заменить. Кроме того, важно, чтобы каждая команда имела один и тот же идентификатор, независимо от того, анонимна она или нет (поэтому, если команда DEF имеет 50 строк, она должна отображаться только как «Команда — 1», а не как «Команда — 1-50»), чтобы мои группировки работать должным образом.
Спасибо за помощь.