질문만 하는 길주석입니다

..

..

WITH T ( SuipNo,  Misu,  LEVEL ) AS
    (
    SELECT convert(NVARCHAR, SuipNo),  Misu , LEVEL = 1 FROM @TB_LIST 
    UNION ALL
    SELECT convert(NVARCHAR,  A.SuipNo + ',' + T.SuipNo) ,  A.Misu+T.Misu , LEVEL+1
    FROM @TB_LIST A,T
    WHERE LEVEL < @num
     AND t.SuipNo > A.SuipNo     
     AND charindex( A.SuipNo, T.SuipNo) = 0
    )
   SELECT  TOP 1 SuipNo FROM T WHERE Misu = @Ipgum ORDER BY LEVEL, SuipNo

..

..


1 하나의 수금이 입력됩니다

2 미수금은  여러 개가 있습니다

3 수금액이 미수액들의 합계와 일치하면 일치하는 경우의 수에 해당하는 것의 목록을 작성하고    

  목록에서 첫번째 목록에 포함된 미수금만 수금처리하려 합니다 

4 수금액이 미수금의 합계와 일치하면 While 문으로 수금처리하면 문제가 없습니다

5 미수금의 합계가 수금액과  일치하는 경우의 수가 없으면 (T의 결과 레코드셋이 0이면) return으로 쿼리를 벗어나고자 합니다 
  마지막 문장을

if  (  SELECT  count(*)  FROM T WHERE Misu = @Ipgum ORDER BY LEVEL, SuipNo ) = 0 등으로는 처리가 불가능하네요


T의 결과 레코드셋이 0인지 아닌지를 판단하는 쿼리문 좀 부탁드립니다