Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/05/2012, 05:03
jinno2323
 
Fecha de Ingreso: octubre-2011
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Datos de dos tablas que no tienen nada entre sí

Gracias por responder pero lamentablemente no lo entiendo y me quedan muchas dudas.

Disculpa por poner código de PHP, lo puse por si había que extraer los datos de alguna otra manera para luego poder mostrarlos.

Haber, mis campos podrían ser igual que los tuyos que has puesto en este ejemplo, sólo que con otros nombres y otros contenidos, pero eso es lo de menos, lo importante es entenderlo en mi caso. Y no lo entiendo porque, con las tablas que tu me has puesto:

Código:
 mysql> SELECT * FROM canciones;
+------------+---------------------+-------------------+---------+
| id_cancion | titulo              | interprete        | formato |
+------------+---------------------+-------------------+---------+
|          1 | Mujeres Divinas     | Vicente Fernandez | mp3     |
|          2 | Esclavo y Amo       | Javier Solis      | mp3     |
|          3 | Por Mujeres como Tu | Pepe Aguilar      | wma     |
|          4 | El aventurero       | Pedro Infante     | wma     |
+------------+---------------------+-------------------+---------+
4 rows IN SET (0.00 sec)
 
mysql> SELECT * FROM fotos;
+---------+---------------------+----------------+-------------+---------+
| id_foto | titulo_foto         | fotografo      | tipo        | formato |
+---------+---------------------+----------------+-------------+---------+
|       1 | Mujeres protestando | Robert Capa    | Noticia     |      35 |
|       2 | Mi Ciudad           | Henri Cartier  | Paisaje     |      24 |
|       3 | Mi perro            | Elliott Erwitt | Instantanea |      12 |
|       4 | Marido y Mujer      | Werner Bischof | Sociales    |      35 |
+---------+---------------------+----------------+-------------+---------+
4 rows IN SET (0.00 sec)
y la consulta de ejemplo con UNION que me has mostrado, no coinciden los campos del ejemplo con los de la búsqueda:


Código:
mysql> SELECT 'cancion' tabla, titulo
    -> FROM canciones
    -> WHERE titulo LIKE '%Mujer%' AND formato = 'mp3'
    -> UNION
    -> SELECT 'foto' tabla, titulo_foto
    -> FROM fotos
    -> WHERE titulo_foto LIKE '%Mujer%';
Es decir, en tu consulta:

SELECT 'cancion' ese campo no lo veo arriba en el ejemplo, y lo mismo te digo con tabla, titulo.

Lo que sí que se es que para hacer un ORDER BY tengo que ponerlos entre paréntesis cada SELECT, pero tu consulta no llego a entenderla.

Otras dudas que me quedan están relacionadas con los UNION:
-Para poder hacer un UNION es necesario que como has dicho tú:

Cita:
¿Tenga que tener el mismo número de campos y su tipo (¿columna te refieres?) debe ser el mismo?
Porque de ser necesario así, en mi tabla no los tengo ni con el mismo nombre (de columna) ni con el mismo número de campos, porque como te dije, es igual que la tuya en "términos generales".

-La otra duda es que si los campos son diferentes, es decir, si en la tabla de canciones los títulos se guardan en la columbra "nombre_cancion" y en la tabla de fotos los títulos se guardan en la columna "nombre_foto", como puedo mostrarlos luego en pantalla. (Tal vez ésto sea de PHP y no me MySQL, es que no lo sé).

Te agradecería que me lo explicaras mostrándome una consulta pero con la tabla de ejemplo que me has puesto, si es que se puede, cosa que imagino que sí.

Muchas gracias y disculpa mi ignorancia en esto de los UNION, no tengo tanta experiencia en MySQL.