Si esta es la solución que me ha parecido mejor aunque he utilizado
if en lugar de
case .
También he visto alguna solución para cuando no se conocen previamente los nombre de los campos, como esta:
http://buysql.com/mysql/14-how-to-au...ot-tables.html
Muchas gracias y saludos a todos.