Redundant transpose. Case is not enough to solve my problem I have db problem in transposing rows to columns. I am half way through the result but getting redundant data. My table:

EMP_ID  EMP_NAME   SAL_PAID
01      ABC        JAN
01      ABC        FEB
01      ABC        MAR
02      PQR        JAN
02      PQR        MAR
03      XYZ        FEB


Result Table:

EMP_ID  EMP_NAME   JAN    FEB    MAR    APR
01      ABC         Y      Y      Y      N
02      PQR         Y      N      Y      N
03      XYZ         N      Y      N      N


I have used case and then the result is as below:

EMP_ID  EMP_NAME   JAN    FEB    MAR    APR
01      ABC         Y      N      N      N
01      ABC         N      Y      N      N
01      ABC         N      N      Y      N
02      PQR         Y      N      N      N
02      PQR         N      N      Y      N
02      PQR         N      N      N      N
03      XYZ         N      Y      N      N
03      XYZ         N      N      N      N


I have tried this for quite a bit now. Thank you.
Telling us that you are using a CASE statement but not showing us the actual code that you're using doesn't help us much.  Assuming that "Result Table" is the desired output and that you want to use the old-style MAX(CASE syntax to do your pivot rather than using the newer PIVOT operator

SELECT emp_id,
       emp_name,
       nvl( max( case when sal_paid = 'JAN' then'Y' else NULL end ), 'N' ) jan,
       nvl( max( case when sal_paid = 'FEB' then'Y' else NULL end ), 'N' ) feb,
       nvl( max( case when sal_paid = 'MAR' then'Y' else NULL end ), 'N' ) mar,
       nvl( max( case when sal_paid = 'APR' then'Y' else NULL end ), 'N' ) apr
  FROM your_table
 GROUP BY emp_id, emp_name