Вы можете использовать
-- be careful, I do asume lot of field names
create view withCount as
select s.*, c.cant
from Streams s
left join
(select Streams_ID, count(*) as cant from Comments group by Streams_ID) as c
on s.id = c.Streams_ID
А затем
select * from withCount where ... order by ... // or whatever you want
Не используйте триггеры для этой задачи, их сложнее поддерживать и недооценивать