• This wont help you?

    SELECT *, CASE WHEN Row_no > 1 THEN

    CONVERT(varchar, WO)+ CHAR(63 + Row_no)

    ELSE CONVERT(varchar,WO) END FROM

    (Select * ,

    Row_Number() OVER (Partition BY WO ORDER BY WO) as Row_No

    FROM #WO) #t1

    Ohh sorry, Steve is right, thanks Steve. This should work for you Sunil! (Steve was using RD instead of WO)

    SELECT WO, CASE WHEN RowCnt > 1 THEN

    CONVERT(varchar, WO) + '(' + CHAR(96 + Row_no) + ') '

    ELSE CONVERT(varchar, WO) END FROM

    (Select * ,

    Row_Number() OVER (Partition BY WO ORDER BY WO) as Row_No

    FROM #WO) #t1

    INNER JOIN (SELECT wo AS Wo1,COUNT(*) AS RowCnt FROM #wo GROUP BY WO) a

    ON #t1.WO = a.wo1

    ---------------------------------------------------------------------------------