Ver Mensaje Individual
  #8 (permalink)  
Antiguo 01/11/2012, 08:58
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Duda redaccion SELECT

Hola de nuevo:

Si leíste la documentación de las ligas que te mandé, te habrás dado cuenta una restricción que se tiene es que las consultas deben regresar el mismo número de columnas, sin embargo, estas columnas NO NECESARIAMENTE DEBEN PERTENECER A LA TABLA, es decir, puedes "crear" columnas ficticias o campos calculados para igual el número de columnas... en tu caso, la tabla1 NO CONTIENE EL CAMPO CONTENIDO pero si tiene la columna TIPO. Para el caso de la tabla2 es lo inverso, de tal suerte que simplemente tienes que hacer algo como esto:


Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla1;
  2. +------+---------+------------+-----------+
  3. | id   | titulo  | fecha      | tipo      |
  4. +------+---------+------------+-----------+
  5. |    1 | artista | 2012-02-11 | typo 1    |
  6. |    2 | disco   | 2012-03-11 | typo 2    |
  7. |    3 | letra   | 2012-02-12 | tipo 3 xD |
  8. +------+---------+------------+-----------+
  9. 3 rows in set (0.00 sec)
  10.  
  11. mysql> SELECT * FROM tabla2;
  12. +------+----------+------------+-----------+
  13. | id   | titulo   | fecha      | contenido |
  14. +------+----------+------------+-----------+
  15. |    1 | programa | 2012-02-12 | vlalvals  |
  16. |    2 | programa | 2012-02-14 | asdkajlsd |
  17. |    3 | THREE    | 2012-02-16 | asdjas    |
  18. +------+----------+------------+-----------+
  19. 3 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT id, titulo, fecha, tipo, NULL contenido
  22.     -> FROM tabla1
  23.     -> UNION
  24.     -> SELECT id, titulo, fecha, NULL tipo, contenido
  25.     -> FROM tabla2
  26.     -> ORDER BY fecha;
  27. +------+----------+------------+-----------+-----------+
  28. | id   | titulo   | fecha      | tipo      | contenido |
  29. +------+----------+------------+-----------+-----------+
  30. |    1 | artista  | 2012-02-11 | typo 1    | NULL      |
  31. |    3 | letra    | 2012-02-12 | tipo 3 xD | NULL      |
  32. |    1 | programa | 2012-02-12 | NULL      | vlalvals  |
  33. |    2 | programa | 2012-02-14 | NULL      | asdkajlsd |
  34. |    3 | THREE    | 2012-02-16 | NULL      | asdjas    |
  35. |    2 | disco    | 2012-03-11 | typo 2    | NULL      |
  36. +------+----------+------------+-----------+-----------+
  37. 6 rows in set (0.00 sec)

Es decir, colocas COLUMNAS VACIAS (NULL) en cada caso, para que la información no quede mezclada.

Y nuevamente te hago esta observación que también te hice desde el primer post, por si no la tomaste en cuenta:

Cita:
Finalmente una recomendación: mucho ojo en utilizar nombres de campos en inglés, ya que estos pueden ocasionar problemas.
DATE es en realidad un tipo de dato, así es que puedes tener problemas, te recomiendo utilizar palabras en español o si lo prefieres
agregar algún calificativo a los campos. como date_compra, date_alta, etc.
Lo mismo para con la palabra TYPE...

Saludos
Leo.

Última edición por leonardo_josue; 01/11/2012 a las 09:03