Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/08/2012, 08:36
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Trasponer resultados de una consulta

Hola aovalle:

Suponiendo que en realidad sólo tienes un par de registros para cada "libro" podrías hacerlo con subconsultas, será más o menos así

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +---------+---------+------------------------+
  3. | idlibro | idcampo | valor                  |
  4. +---------+---------+------------------------+
  5. |       1 |       1 | La iliada              |
  6. |       1 |       2 | Homero                 |
  7. |       2 |       1 | Cien años de soledad   |
  8. |       2 |       2 | Garcia Marquez, Gabriel|
  9. |       3 |       1 | Constitucion Politica  |
  10. |       3 |       2 | Sin autor              |
  11. +---------+---------+------------------------+
  12. 6 rows in set (0.00 sec)
  13.  
  14. mysql> SELECT T1.idLibro, T1.valor `idcampo (1)`, T2.valor `idcampo (2)`
  15.     -> FROM tabla T1
  16.     ->   INNER JOIN
  17.     ->   ( SELECT idLibro, valor
  18.     ->     FROM tabla WHERE idcampo = 2) T2
  19.     ->   ON T1.idLibro = T2.idLibro
  20.     -> WHERE idcampo = 1;
  21. +---------+----------------------+-------------------------+
  22. | idLibro | idcampo (1)          | idcampo (2)             |
  23. +---------+----------------------+-------------------------+
  24. |       1 | La iliada            | Homero                  |
  25. |       2 | Cien años de soledad | Garcia Marquez, Gabriel |
  26. |       3 | Constitucion Politica| Sin autor               |
  27. +---------+----------------------+-------------------------+
  28. 3 rows in set (0.00 sec)

La idea es hacer un doble JOIN sobre la misma tabla... una sólo para los elementos con idcampo = 1 y otra para los elementos con idcampo = 2...

Te repito que esta solución es válida considerando que sólo se tienen dos elementos por cada "libro" y que cada idLibro tiene los dos registros... cualquier cambio en este supuesto cambiaría la consulta.

Saludos
Leo.