Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta diversos campos de diferentes tablas

Estas en el tema de Consulta diversos campos de diferentes tablas en el foro de Mysql en Foros del Web. Hola amigos Mi pregunta es la siguiente; como le hago para consultar diferentes campos de diferentes tablas... estuve investigando un poco y conseguí que con ...
  #1 (permalink)  
Antiguo 29/03/2011, 11:53
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Consulta diversos campos de diferentes tablas

Hola amigos

Mi pregunta es la siguiente; como le hago para consultar diferentes campos de diferentes tablas... estuve investigando un poco y conseguí que con un inner join se puede hacer, he realizado algunas pruebas pero no he tenido éxito

se trata de extraer campos de 4 tabla diferentes, no tengo mucha experiencia en esto así que

agradeceré buenos aportes!
  #2 (permalink)  
Antiguo 29/03/2011, 11:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta diversos campos de diferentes tablas

Aporta también la estructura de tus tablas, porque si no sabemos cómo se relacionan, solo te podemos poner ejemplos imaginarios.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/03/2011, 12:29
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta diversos campos de diferentes tablas

Ok, lo que necesito es algo así:

SELECT * From Tabla1, Tabla2, Tabla3, Tabla4 WHERE Tabla1.id_lib = Tabla2.nombre_libro and Tabla1.id_rev=Tabla3.nombre_revista and Tabla1.per = Tabla4.nombre_periodico

En la tabla1 están los campos id de las otras 3 tablas, y en la tabla 2, 3 y 4 se encuentra con el campo id y el campo nombre de cada tabla.

espero sepan entenderme, espero aportes!
  #4 (permalink)  
Antiguo 29/03/2011, 12:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta diversos campos de diferentes tablas

A eso me refería: Estás poniendo un ejemplo imaginario que puede o no servirte.

Si eso es lo que quieres, simplemente tienes que escribirlo conforme el manual de referencia para los INNER JOIN:
Código MySQL:
Ver original
  1. FROM Tabla1
  2.     INNER JOIN Tabla2 ON Tabla1.id_lib = Tabla2.nombre_libro
  3.     INNER JOIN Tabla3 ON Tabla1.id_rev=Tabla3.nombre_revista
  4.     INNER JOIN Tabla4 ON Tabla1.per = Tabla4.nombre_periodico
Pero este ejemplo a mi entender es inservible, porque no creo francamente que e ID de la tabla 1 sea igual al nombre del libro en la tabla 2... O sea, un número igual a un nombre...

Postea la estructura de las tablas involucradas para poder darte un ejemplo mejor. Y por estructura em refiero a los CREATE TABLE... que las generan (para obtenerlo peudes usar SHOW CREATE TABLE nombretabla)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/03/2011, 13:01
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta diversos campos de diferentes tablas

No es el id de la tabla1, es el id de la tabla2 que esta en la tabla1 como un campo, esto es para que exista relación... lo que quiero es mostrar el nombre del libro que esta en la tabla libros que a su ves es la tabla2, lo llamo de la tabla1 porque allí tengo el id_lib que debe ser igual al id_lib de la tabla2 por la relación. entiendes?

eso es realmente lo que quiero hacer con estas tablas, ahora en cuanto a la estructura del select no estoy segura, solo realizo intentos según investigaciones y grandes aportes que acá recibo.. gracias nuevamente!
  #6 (permalink)  
Antiguo 29/03/2011, 13:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta diversos campos de diferentes tablas

Los INNER JOIN se usan como te los puse:
Código:
 tabla INNER JOIN tabla2 ON tabla1.campo = tabla2.campo INNER JOIN tabla3 ON tablaN.campo = tabla3.campo
...y así sucesivamente.

Notas:
- Usar la coma no tiene el mismo efecto que usar INNER JOIN, pese a ser sinónimos. La coma es un JOIN implícito que intentará igualar primero los campos con el mismo nombre en ambas tablas, con lo que puede mezclar datos diferentes por accidente. Tiende a generar productos cartesianos.
- Poner las condiciones en el WHERE no es lo mismo que ponerlas en el FROM con ON. El FROM es optimizable por el parser, el WHERE no. El FROM permite eliminar regisrtos a medida que se leen, el WHERE hace que se lea todo y recién luego se filtra. No son iguales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 29/03/2011, 14:56
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta diversos campos de diferentes tablas

Ya resolví mi problema, gracias por tus respuestas gnzsoloyo ... empareje en campo id de la tabla2 en la tabla1 con el campo id de la tabla2... y así con todo... para mostrar el valor del campo nombre de la tabla 2 por ejemplo, solo los llame por el nombre del campo... y listo.. muchas gracias por tus aportes de verdad!
  #8 (permalink)  
Antiguo 29/03/2011, 14:58
 
Fecha de Ingreso: marzo-2011
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Consulta diversos campos de diferentes tablas

Ya resolví mi problema, gracias por tus respuestas gnzsoloyo ... empareje el campo id de la tabla2 en la tabla1 con el campo id de la tabla2... y así con todo... para mostrar el valor del campo nombre de la tabla 2 por ejemplo, solo los llame por el nombre del campo... y listo.. muchas gracias por tus aportes de verdad

Etiquetas: campos, diferentes, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.