Q:

How to arrange data in sql server table

I tried many query to achieve the expected result , I couldn't find any solution. 
Actual:-
ID | EmpDailyFee | EmpMonthlyFee | CompDailyFee | CompMnthlyFee

1        NULL         12            NULL               NULL

1         50         NULL           NULL               NULL

1         60         NULL           NULL               NULL

2        50           NULL           NULL               NULL

3        NULL          30            NULL               NULL

Expected :-
ID | EmpDailyFee | EmpMonthlyFee | CompDailyFee | CompMnthlyFee

1        50            12            NULL               NULL

1        60            12            NULL               NULL

2        50           NULL           NULL               NULL

3        NULL          30            NULL               NULL

A:

This looks like a table smell to me since the rows are sharing the same ID value but with different EmpDailyFee/EmpMonthlyFee values. But in this particular case you can get your expected output like this:
SELECT t1.ID, t1.EmpDailyFee, t2.EmpMonthlyFee
FROM @Test t1
INNER JOIN @Test t2 ON t1.ID = t2.ID
WHERE t1.EmpDailyFee IS NOT NULL AND t2.EmpMonthlyFee IS NOT NULL
UNION ALL
SELECT t1.ID, t1.EmpDailyFee, t1.EmpMonthlyFee
FROM @Test t1
WHERE (t1.EmpDailyFee IS NOT NULL OR t1.EmpMonthlyFee IS NOT NULL) AND t1.ID NOT IN
(
    SELECT t3.ID
    FROM @Test t3
        INNER JOIN @Test t2 ON t3.ID = t2.ID
    WHERE t3.EmpDailyFee IS NOT NULL AND t2.EmpMonthlyFee IS NOT NULL
)

This has been tested on SQL Fiddle
Note: The reason why I did not include CompDailyFee and CompMnthlyFee is because the values of both the actual and expected results were NULL. I am trying to write a "simple-as-possible" query based on what OP has provided.

