Your query is missing a comma after the second column name
select
[dbo].[TestTable].Id,
[dbo].[TestTable].Name,
(
select
Count(Sub.Id)
from
[dbo].[TestTable] As Sub
where
[dbo].[TestTable].Id = Sub.Id
) As 'Count'
from
[dbo].[TestTable]
I assume that TestTable.Id is the PK of the table, in this case the inner select will return a count of one for every row!!
is that what you want?