title: transform columns to rows
body: <p>I have a table <code>table1</code> like below</p>
  
  <pre><code>+----+------+------+------+------+------+
  | id | loc  | val1 | val2 | val3 | val4 |
  +----+------+------+------+------+------+
  |  1 | loc1 |   10 | 190  | null |   20 |
  |  2 | loc2 |   20 | null | 10   |   10 |
  +----+------+------+------+------+------+
  </code></pre>
  
  <p>need to combine the val1 to val4 into a new column <code>val</code> with a row for each so that the output is like below.</p>
  
  <p>NOTE: - I data I have has val1 to val30 -> ie. 30 columns per row that need to be converted into rows.</p>
  
  <pre><code>+----+------+--------+
  | id | loc  |  val   |
  +----+------+--------+
  |  1 | loc1 |   10   |
  |  1 | loc1 |   190  |
  |  1 | loc1 |   null |
  |  1 | loc1 |   20   |
  |  2 | loc2 |   20   |
  |  2 | loc2 |   null |
  |  2 | loc2 |   10   |
  |  2 | loc2 |   10   |
  +----+------+--------+
  </code></pre>