Foros del Web » Bases de Datos » Mysql »

cmom hacer una consulta usando datos de dos tablas?

Estas en el tema de cmom hacer una consulta usando datos de dos tablas? en el foro de Mysql en Foros del Web. Hola, ojala me pueda ayudar con esta duda tengo 2 tablas: tabla acciones: idAccion: idUsuario: accion: tabla usuarios: idUsuario: nombre: direccion: necesito hacer una consulta ...
  #1 (permalink)  
Antiguo 26/11/2009, 18:48
Avatar de ArturoLV  
Fecha de Ingreso: noviembre-2005
Ubicación: omnipotencia
Mensajes: 146
Antigüedad: 8 años, 8 meses
Puntos: 0
cmom hacer una consulta usando datos de dos tablas?

Hola, ojala me pueda ayudar con esta duda

tengo 2 tablas:

tabla acciones:
idAccion:
idUsuario:
accion:

tabla usuarios:
idUsuario:
nombre:
direccion:


necesito hacer una consulta de este tipo:
seleccionar desde acciones un(os) campo(s) donde el campo nombre (que esta en tabla usuarios) sea igual o contenga cierto texto


gracias por su ayuda
  #2 (permalink)  
Antiguo 26/11/2009, 19:48
 
Fecha de Ingreso: junio-2008
Mensajes: 121
Antigüedad: 6 años, 1 mes
Puntos: 1
Respuesta: cmom hacer una consulta usando datos de dos tablas?

Hola! no esta del todo claro cual es la consulta que queres hacer... pero por lo que entiendo podes probar lo siguiente

SELECT * FROM acciones, usuarios
WHERE acciones.id_usuario = usuarios.id_usuario AND usuarios.nombre LIKE "%algo%"

Ahora la explicacion:

El unico nexo entre las dos tablas es IdUsuario, por lo tanto esa es una condición que se tendrá que cumplir en ambas.

La otra condición que le vas a pedir que se cumpla es que en usuarios.nombre haya un bloque de texto con el contenido X
Por eso pongo LIKE y ademas le agrego los signos % para que te encuentre cualquier valor que contenga ese texto en todo o parte del nombre. Se entiende? Es como si vos tuvieras un nombre que es gaston, otro que es Gabriel y otro que es Gerardo. Si pones LIKE "%Ga%" te va a dar como resultado Gaston y Gabriel. Si pones LIKE "%G%" te va a dar como resultado los 3.

Espero te sirva. Saludos.
  #3 (permalink)  
Antiguo 26/11/2009, 20:13
Avatar de polin2bclan  
Fecha de Ingreso: julio-2008
Mensajes: 73
Antigüedad: 6 años
Puntos: 5
Respuesta: cmom hacer una consulta usando datos de dos tablas?

Código PHP:
SELECT A.idAccion,U.nombre FROM accion Ausuarios U
WHERE A
.idUsuario U.idUsuario 
Ahi estas obteniendo idAccion y nombre, uno campo de una tabla distinta, es muy facil . te recomiendo MySQL Browser, es una herramienta de los desarrolladores de mysql, saludos
  #4 (permalink)  
Antiguo 26/11/2009, 20:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 18.225
Antigüedad: 6 años, 8 meses
Puntos: 2072
Respuesta: cmom hacer una consulta usando datos de dos tablas?

La relación entre tablas por medio de claves se debe hacer en un JOIN, no en un WHERE (es ineficiente y no se puede optimizar).
Yo te sugiero, usando el ejemplo de lucianomdq:
Código SQL:
Ver original
  1. SELECT *
  2. FROM acciones a INNER JOIN usuarios u USING(id_usuario)
  3. WHERE u.nombre LIKE "%algo%";

Fuera de eso, las indicaciones son las mismas.
__________________
¿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 26/11/2009, 21:18
Avatar de ArturoLV  
Fecha de Ingreso: noviembre-2005
Ubicación: omnipotencia
Mensajes: 146
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: cmom hacer una consulta usando datos de dos tablas?

excelente, la solución 3 me funciono perfecto, gracias a todos por su tiempo
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 03:03.
SEO by vBSEO 3.3.2