Friday, June 25, 2010

Using charindex found the Comma Separation value form Row

Declare @branchid  varchar

Begin

    declare @min_amt  numeric(18,2)
    declare @max_amt  numeric(18,2)
    declare  @tax_amt  numeric (18,2)
    declare  @PTStr varchar(5000)

    --set @branchid='B00172'

    set @PTStr=''
    declare  C_PT  cursor for
    select TAX_MIN_AMOUNT,TAX_MAX_AMOUNT,TAX_TAXAMOUNT from tbl_profesionaltax_master ptm
     inner join tbl_profesionaltax_master_dtls ptmd
     on ptm.Prof_id = ptmd.prof_id and ptm.status='A' 
     where  charindex( @branchid , ptm.BRANCH_ID) >0 and tax_month  = 0
     and
     tax_from_date <=  cast( month(GETDATE()) as varchar) +'/'+ cast( year(GETDATE()) as varchar)

    open  C_PT   
    fetch next from C_PT into @min_amt,@max_amt,@tax_amt
       
    while  @@FETCH_STATUS = 0   
     begin  
     print @tax_amt
     set @PTStr=@PTStr+'@@'+cast(@min_amt as varchar(100))+'-'+cast(@max_amt as varchar(100))+'-$$'+cast(@tax_amt as varchar(100))
     
     fetch next from C_PT into @min_amt,@max_amt,@tax_amt     
     end  
      set @PTStr=@PTStr+'@@'
     print @PTStr

    close C_PT    
    deallocate C_PT  

     select @PTStr
   
End

Go

O/P :

Column : B00061,B00040,B00122,B00123,B00124,B00125,B00184,B00165,B00166,B00172

PID BRANCH_ID                                                                FROM_DATE TAXNAME  STATUS
20    B00061,B00040,B00122,B00123,B00124,B00125,B00184,B00165,B00166,B00172    07/2010      TAXNAME    A   


Tax PID      Tax_From_Date      Tax_Min_Amount Tax_Max_Amount        Amount Tax_Month
75    20        07/2010       NULL    0.00        5000.00                0.00    0
76    20        07/2010       NULL    5001.00        10000.00            175.00    0
77    20        07/2010       NULL    10001.00    999999999999999.00    200.00    0

exec sp_getProftax 'B00125'
@@0.00-5000.00-$$0.00@@5001.00-10000.00-$$175.00@@10001.00-999999999999999.00-$$200.00@@

No comments:

Post a Comment