Есть ли способ сделать что-то вроде этого
объявить переменную, присвоить ей значение в операторе выбора, а затем использовать его в регистре?
Что-то вроде этого
DECLARE @result BIGINT;
SELECT @result = (SELECT count(_t.Id) FROM T _t WHERE _t.T2Id = _t2.Id GROUP BY _t.T2Id)
CASE WHEN @result IS NULL THEN 0 ELSE @result END AS ColNAme
FROM T2 _t2
Идея состоит в том, что я хотел бы избегать повторного выполнения запроса на подсчет количества.
CASE
WHEN (SELECT COUNT(_t.Id) FROM T _t WHERE _t.T2Id = _t2.Id GROUP BY _t.T2Id) IS NULL THEN 0
ELSE (SELECT COUNT(_t.Id) FROM T _t WHERE _t.T2Id = _t2.Id GROUP BY _t.T2Id) END AS ColNAme
Я не хочу использовать функции.
Набор результатовдолжен содержать количество всех элементов T, имеющих ссылку T2 по идентификатору T2
ID | Count
2 | 0
4 | 12