title: Turn the table columns as rows
body: <p>I have the table with the following structure. I need to turn columns as rows</p>
  
  <pre><code>ID  NAME      2011   2012
  1   macbook   2      241
  2   macbook   77     214
  3   macbook   0      400
  4   iphone    442    555
  
  </code></pre>
  
  <pre><code>with tbl as (
   select  1 as id, 'macbook' as name, 2 as "2011", 241 as "2012" from dual union
   select  2 as id, 'macbook' as name, 77 as "2011", 214 as "2012" from dual union
   select  3 as id, 'macbook' as name, 0 as "2011", 400 as "2012" from dual union
   select  4 as id, 'iphone' as name, 442 as "2011", 555 as "2012" from dual
  )
  select * from tbl
  </code></pre>
  
  <p>I use Oracle database, I tried to solve the issue by using unpivot function but I stacked on this</p>
  
  <p>I expect to get the result like this</p>
  
  <pre><code>ID  NAME    DATE    SALES
  1   macbook 2011    2
  1   macbook 2012    241
  2   macbook 2011    77
  2   macbook 2012    214
  3   macbook 2011    0
  3   macbook 2012    400
  4   iphone  2011    442
  4   iphone  2012    555
  </code></pre>