Hola, 
 
He programado un stored con el que obtengo unos datos, pero ahora necesito hacer un select count dentro del stored para que dependiendo del valor que me devuelva poner una variable a 0 o dejarla con valor. 
Este es el stored que tengo, queda comentado dentro del código del stored lo que necesito:    
Código SQL:
Ver originalALTER PROCEDURE [dbo].[FSPM_ROL_PARTICIPANTES] @BLOQUE INT, @ROL INT, @INSTANCIA INT,@IDI VARCHAR(50), @ID_FAVORITA INT=0 AS
 
IF @INSTANCIA<>0
    BEGIN
    SET CONCAT_NULL_YIELDS_NULL OFF
       SELECT R.DEN RDEN,R.ID ROL,R.TIPO,R.RESTRINGIR, CASE WHEN R.PER IS NULL THEN R.PROVE ELSE R.PER END PART,
   CASE WHEN R.PER IS NOT NULL THEN 
       PER.NOM + ' ' + PER.APE+ ' (' + PER.EMAIL + ')' 
   ELSE 
       (CASE WHEN R.PROVE IS NULL THEN 
           NULL 
       ELSE 
           PROVE.DEN
       END) 
   END PARTNOM, NULL AS ID_CONTACTO
       FROM PM_COPIA_ROL R WITH (NOLOCK) 
   LEFT JOIN PER WITH (NOLOCK)  ON PER.COD=R.PER 
   LEFT JOIN PROVE WITH (NOLOCK)  ON PROVE.COD=R.PROVE 
   WHERE R.INSTANCIA=@INSTANCIA AND R.BLOQUE=@BLOQUE AND R.ROL=@ROL AND R.COMO_ASIGNAR=2
 
   SELECT RB.ROL,RB.BLOQUE,B.DEN BDEN
   FROM PM_COPIA_ROL R WITH (NOLOCK)  
   INNER JOIN PM_COPIA_ROL_BLOQUE RB WITH (NOLOCK)  ON RB.ROL= R.ID
   INNER JOIN PM_COPIA_BLOQUE_DEN B WITH (NOLOCK)  ON  B.BLOQUE=RB.BLOQUE 
   WHERE R.INSTANCIA=@INSTANCIA AND R.BLOQUE=@BLOQUE AND R.ROL=@ROL AND R.COMO_ASIGNAR=2 AND B.IDI=@IDI
    SET CONCAT_NULL_YIELDS_NULL ON
    END
ELSE
    BEGIN
    DECLARE @SQL NVARCHAR(4000)
    DECLARE @CNT INTEGER
    
    SELECT COUNT(*) FROM PM_PARTICIPANTES_FAV WITH(NOLOCK) WHERE SOLICIT_FAV=@ID_FAVORITA 'necesito obtener la cantidad del count en la variable @CNT para luego realizar el if que tengo abajo
    
    IF  @CNT = 0
        SET @ID_FAVORITA = 0
        
    SET @SQL = N'SELECT DISTINCT R.DEN RDEN, R.ID ROL, R.TIPO, R.RESTRINGIR, '
    IF @ID_FAVORITA <> 0
        SET @SQL = @SQL + 'CASE WHEN PF.PER IS NULL THEN PF.PROVE 
                        ELSE  PF.PER END PART,
                            CASE WHEN PF.PER IS NOT NULL THEN PER.NOM + '' '' + PER.APE+ '' ('' + PER.EMAIL + '')''
                            ELSE 
                                (CASE WHEN PF.PROVE IS NULL THEN 
                                    NULL 
                                ELSE 
                                    PROVE.DEN + '' ('' + CON.EMAIL + '')'' 
                                END) 
                        END PARTNOM, CON.ID ID_CONTACTO '
    ELSE
        SET @SQL = @SQL + 'CASE WHEN R.PER IS NULL THEN R.PROVE 
                        ELSE R.PER END PART,
                            CASE WHEN R.PER IS NOT NULL THEN PER.NOM + '' '' + PER.APE+ '' ('' + PER.EMAIL + '')''
                            ELSE 
                                (CASE WHEN R.PROVE IS NULL THEN 
                                    NULL 
                                ELSE 
                                    PROVE.DEN + '' ('' + CON.EMAIL + '')'' 
                                END) 
                        END PARTNOM, CON.ID ID_CONTACTO '
     
    SET @SQL = @SQL + ' FROM PM_ROL R WITH (NOLOCK)'    
     
    IF @ID_FAVORITA <> 0
        SET @SQL = @SQL + ' LEFT JOIN PM_PARTICIPANTES_FAV PF WITH (NOLOCK) ON R.ID=PF.ROL 
             LEFT JOIN PER WITH (NOLOCK)  ON PER.COD = PF.PER
             LEFT JOIN PROVE WITH (NOLOCK)  ON PROVE.COD=PF.PROVE'
    ELSE
        SET @SQL = @SQL + ' LEFT JOIN PER WITH (NOLOCK)  ON PER.COD = R.PER
        LEFT JOIN PROVE WITH (NOLOCK)  ON PROVE.COD=R.PROVE'
    
    SET @SQL = @SQL + ' LEFT JOIN CON WITH (NOLOCK)  ON PROVE.COD=CON.PROVE AND CON.ID=R.CON
        WHERE R.BLOQUE_ASIGNA=@BLOQUE AND R.ROL_ASIGNA=@ROL AND R.COMO_ASIGNAR=2'
        
    IF @ID_FAVORITA <> 0
        SET @SQL = @SQL + 'AND SOLICIT_FAV=@ID_FAVORITA'
        
    print @sql
    EXEC SP_EXECUTESQL @SQL,N'@BLOQUE INT, @ROL INT, @ID_FAVORITA INT',@BLOQUE=@BLOQUE, @ROL=@ROL, @ID_FAVORITA=@ID_FAVORITA
    
    SELECT RB.ROL,RB.BLOQUE,B.DEN BDEN 
    FROM PM_ROL R  WITH (NOLOCK) 
    INNER JOIN PM_ROL_BLOQUE RB WITH (NOLOCK)  ON RB.ROL= R.ID
    INNER JOIN PM_BLOQUE_DEN B WITH (NOLOCK)  ON  B.BLOQUE=RB.BLOQUE 
    WHERE R.BLOQUE_ASIGNA=@BLOQUE AND R.ROL_ASIGNA=@ROL AND R.COMO_ASIGNAR=2 AND B.IDI=@IDI
    END
  
Alguien me puede ayudar?