Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/05/2011, 16:05
duraznero
 
Fecha de Ingreso: abril-2011
Ubicación: chile
Mensajes: 16
Antigüedad: 13 años, 1 mes
Puntos: 0
De acuerdo Respuesta: query en mysql se me enrredo

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola duraznero... hay varias formas de llegar al resultado que quieres, sin necesidad de utilizar cursores, de comento una de ellas, para ver si te puede servir.

Código MySQL:
Ver original
  1. mysql> create table preguntas (id_Preguntas int, descripcion varchar(10),
  2.     -> titulo varchar (50));
  3. Query OK, 0 rows affected (0.13 sec)
  4.  
  5. mysql> insert into preguntas values (1, null, '¿Donde queda España?'),
  6.     -> (2, null, '¿Cuantos años tiene la tierra?'),
  7.     -> (3, null, '¿Sigla de emergencia?');
  8. Query OK, 3 rows affected (0.05 sec)
  9. Records: 3  Duplicates: 0  Warnings: 0
  10.  
  11. mysql> select * from preguntas;
  12. +--------------+-------------+--------------------------------+
  13. | id_Preguntas | descripcion | titulo                         |
  14. +--------------+-------------+--------------------------------+
  15. |            1 | NULL        | ¿Donde queda España?           |
  16. |            2 | NULL        | ¿Cuantos años tiene la tierra? |
  17. |            3 | NULL        | ¿Sigla de emergencia?          |
  18. +--------------+-------------+--------------------------------+
  19. 3 rows in set (0.00 sec)
  20.  
  21. mysql> create table opciones (id_Opciones int, descripcion varchar(50),
  22.     -> FK_id_Preguntas int);
  23. Query OK, 0 rows affected (0.06 sec)
  24.  
  25. mysql> insert into opciones values (1, 'Europa', 1),
  26.     -> (2, 'Asia', 1), (3, 'Sudamérica', 1), (4, '4645', 2),
  27.     -> (5, '454546', 2), (6, '456456465', 2), (7, '1121212121', 2),
  28.     -> (8, 'WWW', 3), (9, 'FIFA', 3), (10, 'SOS', 3),
  29.     -> (11, 'ANFP', 3), (12, 'WTF', 3);
  30. Query OK, 12 rows affected (0.03 sec)
  31. Records: 12  Duplicates: 0  Warnings: 0
  32.  
  33. mysql> select * from opciones;
  34. +-------------+-------------+-----------------+
  35. | id_Opciones | descripcion | FK_id_Preguntas |
  36. +-------------+-------------+-----------------+
  37. |           1 | Europa      |               1 |
  38. |           2 | Asia        |               1 |
  39. |           3 | Sudamérica  |               1 |
  40. |           4 | 4645        |               2 |
  41. |           5 | 454546      |               2 |
  42. |           6 | 456456465   |               2 |
  43. |           7 | 1121212121  |               2 |
  44. |           8 | WWW         |               3 |
  45. |           9 | FIFA        |               3 |
  46. |          10 | SOS         |               3 |
  47. |          11 | ANFP        |               3 |
  48. |          12 | WTF         |               3 |
  49. +-------------+-------------+-----------------+
  50. 12 rows in set (0.00 sec)
  51.  
  52. mysql> select 1 as nivel, id_preguntas id_pregunta,
  53.     -> 0 as id_opcion, titulo descripcion
  54.     -> from preguntas
  55.     -> union
  56.     -> select 2 as nivel, FK_id_Preguntas id_pregunta,
  57.     -> id_opciones id_opcion, descripcion
  58.     -> from opciones
  59.     -> order by id_pregunta, nivel, id_opcion;
  60. +-------+-------------+-----------+--------------------------------+
  61. | nivel | id_pregunta | id_opcion | descripcion                    |
  62. +-------+-------------+-----------+--------------------------------+
  63. |     1 |           1 |         0 | ¿Donde queda España?           |
  64. |     2 |           1 |         1 | Europa                         |
  65. |     2 |           1 |         2 | Asia                           |
  66. |     2 |           1 |         3 | Sudamérica                     |
  67. |     1 |           2 |         0 | ¿Cuantos años tiene la tierra? |
  68. |     2 |           2 |         4 | 4645                           |
  69. |     2 |           2 |         5 | 454546                         |
  70. |     2 |           2 |         6 | 456456465                      |
  71. |     2 |           2 |         7 | 1121212121                     |
  72. |     1 |           3 |         0 | ¿Sigla de emergencia?          |
  73. |     2 |           3 |         8 | WWW                            |
  74. |     2 |           3 |         9 | FIFA                           |
  75. |     2 |           3 |        10 | SOS                            |
  76. |     2 |           3 |        11 | ANFP                           |
  77. |     2 |           3 |        12 | WTF                            |
  78. +-------+-------------+-----------+--------------------------------+
  79. 15 rows in set (0.00 sec)

Dale un vistazo y nos comentas

Saludos
Leo.
muchisimas gracias !!!!!!!!!!!!!!!!!!!!!!! Leo !!!!!!!!!!!!!!!!!!!!!!!!! te anoto un 10 !!!!!!!!!!
saludos duraznero =)