Mark Dale wrote:
Hello MySQL List

I have a simple table that outputs results like so:

select name, question_id, answer from table;
      +-------+--------------+---------+
      |NAME   |QUESTION_ID   |ANSWER   |

      +-------+--------------+---------+
      |Mark       |100       |Yes          |    
      |Mark       |101       |No           |
      |Leigh  |100           |Yes      |        
      |Leigh  |101           |No           |
      +-------+--------------+---------+        

 Is there a way to query things so the result looks like this:
        
      select ???
      +--------+-----------+-----------+
      |NAME    |100        |101        |
      +--------+-----------+-----------+
      |Mark        |Yes    |No         |
      |Leigh   |No         |Yes    |    
      +--------+-----------+-----------+


No, but you can get it to look like this:

mysql> select n.name, n.question_id, n2.answer from blah n, blah n2 where n.name=n2.name and n.answer=n2.answer;
+-------+-------------+--------+
| name  | question_id | answer |
+-------+-------------+--------+
| chris |           1 | yes    |
| chris |           2 | no     |
+-------+-------------+--------+
2 rows in set (0.00 sec)

You need to do a self-join on all but one column so you can get the "rows" to become "columns".

Make sure you have indexes on all joining columns otherwise it will be slow.


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to