query data with same id but different values oracle
<p>I have two  tables like these</p>

<pre><code>Person_table
| person_id | name   | surname 
--------------------------------        
     1      | name1  | surname1
--------------------------------
     2      | name2  | surname2
--------------------------------
     3      | name3  | surname3


    insurance_table

   ins_id |person_id | insurance_type |
  -------------------------------------
    001  |    1      |     5%         |
  -------------------------------------
    002  |    1     |     10%        |
  -------------------------------------
    003  |    3      |     2%         |
</code></pre>

<p>after joining as following</p>

<pre><code>select pt.*, it.insurance_type
from person_table pt 
   join insurance_table it on it.person_id=pt.person_id 
</code></pre>

<p>the query returns duplicating rows for person_id = 1.
like this </p>

<pre><code>    |  person_id  | person_name | insurance_type |
    ----------------------------------------------
    |    1        |  name1      |    5%          |
   -----------------------------------------------
    |    1        |  name1      |    10%         |
</code></pre>

<p>the point is to return a single row for every id with additional columns according to insurance type,like this</p>

<pre><code>|  person_id  | person_name |   type 1  |  type2   |   type3  |
----------------------------------------------------------------------------
     1        |  name1      |    5%     |  10%     |   null   |
----------------------------------------------------------------------------  
     2        |  name2      |    null   |  null    |    2%    |  
</code></pre>

<p>is it possible to implement such a query without writing pl procedure. 
Thanks a lot!</p>