Предложение select
является последним предложением, которое будет выполнено логически, за исключением order by
. Предложение having
происходит до выбора, поэтому псевдонимы пока недоступны.
Если вы действительно хотите использовать псевдоним, не то, чтобы я рекомендовал это делать, можно использовать встроенное представление, чтобы сделать псевдонимы доступными:
select StoreId, _count
from (select Store_id as StoreId, count(*) as _count
from StoreProduct
group by Store_id) T
where _count > 0
Или в SQL Server 2005 и выше, CTE:
; with T as (select Store_id as StoreId, count(*) as _count
from StoreProduct
group by Store_id)
select StoreId, _count
from T
where _count > 0