Ciao a tutti... Intanto spero di aver scritto nel forum giusto

Ho una tabella a struttura gerarchica a 2 livelli con dei records coi campi ID e RIF
esempio
ID: 5 RIF: 0 >> Nodo principale
ID: 12 RIF: 5 >> Nodo 'Figlio' di ID:5

Ho creato una SP per listarmi tutti nodi "padre"
codice:
ALTER PROCEDURE [dbo].[FORUM_LIST]
	@RPP int, /* Records Per Page*/
	@CRS int,  /* Cursor */
	@id int = null,
	@Rep int = null

AS
	IF @CRS = @RPP
	 BEGIN 
	   Select top(@RPP) [id],[Titolo],[Autore],[Blogged] from Forum where Rif = 0 Order by Blogged Asc, LastPost desc
	END
	ELSE
	 BEGIN
	   Select top(@RPP) [id],[Titolo],[Autore],[Blogged] from Forum where Rif = 0 And NOT id IN (select top(@CRS) id from Forum where Rif = 0 Order by Blogged Asc, LastPost desc) Order by Blogged Asc, LastPost desc
	 END
ed un'altra per ottenere il numero di records per ogni Rif:
codice:
ALTER PROCEDURE [dbo].[FORUM_COUNT]
	@RifId int
AS

Select COUNT(id) as 'TOTREC' from Forum Where Rif = @RifId
Ma ora come faccio nella prima ad avere per ogni record (Rif=0) il conteggio dei records "figli" ovvero Rif=@id?

Non sono molto pratico di Stored Procedures e questo è un po' un problema...
Uso MSSQL2005

THANX!