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

php mysql consultar varias tablas

Estas en el tema de php mysql consultar varias tablas en el foro de Mysql en Foros del Web. Hola, gracias por leer mi post tengo que hacer una consulta para mostrar registros a partir de una primera tabla que contiene la condicion primaria ...
  #1 (permalink)  
Antiguo 20/07/2007, 05:42
 
Fecha de Ingreso: enero-2004
Mensajes: 5
Antigüedad: 20 años, 3 meses
Puntos: 0
php mysql consultar varias tablas

Hola, gracias por leer mi post

tengo que hacer una consulta para mostrar registros a partir de una primera tabla que contiene la condicion primaria

esto es

tabla1

col1 col2 col3 col4
x1 x2 x3 SI

recupero de esta tabla esos 3 valores donde se cumple SI

select * from tabla1 where col4=SI

con estos resultados debo recuperar informacion extendida de otras tablas

Tabla2

col-a col-b col-c
x1 y1 y2

como veran el valor de col-a corresponde con col1

mi consulta es

select * from tabla2 where col1=tabla1.x1

y lo mismo tengo que hacer con una tercera tabla con el valor de tabla 1 x2 y despues mostrar los resultados juntos registro por registro


seria algo como

x1 y1 y2 ..... x2 ..... x3 .......

el asunto es que no tengo ni idea de como agrupar las consultas y los resultados pues nunca he realizado consultas relacionadas de esta manera, me he documentado un poco a cerca de mysql: JOIN, IF y variables, pero lo cierto es que por ese lado no he logrado solucionar el asunto de usar el primer resultado como variables para luego usarlo como condiciones para mis siguientes consultas y tengo claro que esto seria mas facil por PHP.

Agradecere toda ayuda posible a esta tarea.
  #2 (permalink)  
Antiguo 20/07/2007, 08:11
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: php mysql consultar varias tablas

Si están relacionadas si te serviría JOIN, pero creo que posteaste en el foro equivocado, ya que hay uno en este sitio especializado en bases de datos. Esperemos que un moderador mueva el tema para que te puedan ayudar mejor :)

Y si pones el código de tu consulta te ayudarás más rápido para que vean en qué te estás equivocando.
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 20/07/2007, 08:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: php mysql consultar varias tablas

Deberías de leer acerca de Joins es mas facil asi relacionar tus tablas ej:
Código:
SELECT t1.*, t2.*, t3.* FROM `tabla1` AS t1 INNER JOIN `tabla2` AS t2 ON t1.col1=t2.col-a INNER JOIN `tabla3` AS t3 ON t1.col2=t3.col-b
Saludos.
  #4 (permalink)  
Antiguo 20/07/2007, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: php mysql consultar varias tablas

Por cierto te muevo al foro de SQL.

Saludos.
  #5 (permalink)  
Antiguo 20/07/2007, 12:17
 
Fecha de Ingreso: enero-2004
Mensajes: 5
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: php mysql consultar varias tablas

Gracias por las respuestas, esta es mi consulta


SELECT @usuarios := uid
FROM quiz_user_data
WHERE isdone =1;# Filas: 66
SELECT @usuarios2 := uid
FROM quiz_user
WHERE uid = @usuarios ;# Filas: 1
SELECT *
FROM user_extended
WHERE id = @usuarios2 ;

el asunto es que a pesar de tener 66 resultados de la primera consulta al final solo me devuelve el ultimo registro, estoy leyendo mas a cerca de JOIN pero despues de una siesta he pensado haciendo la consulta desde PHP puedo tomar uno a uno los campos de la primera tabla en un arreglo y despues realizar mis otras 3 consultas con ellos por separado y al final unirlos al presentarlo en tablas, igual creo que me estoy complicando pero ando fuera de tiempo y no es el unico asunto que estoy resolviendo respecto a estas tablas :/ , acepto sugerencias!

Gracias de nuevo
  #6 (permalink)  
Antiguo 21/07/2007, 03:02
 
Fecha de Ingreso: enero-2004
Mensajes: 5
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: php mysql consultar varias tablas

he avanzado un poco mas y ya mejore mi consulta con JOIN, pero no consigo que los resultados de mi primer consulta sean mandatorios para el resto de las consultas

SELECT * FROM quiz_user_data,_quiz_user,_user_extended WHERE quiz_user_data.isdone =1 AND quiz_user_data.uid
= quiz_user.uid AND quiz_user.mosuid=user_extended.id

(ojo que la coma lei es igual a JOIN)

una consulta sencilla a quiz_user_data donde isdone =1 regresa 78 resultados,
pero la consulta completa como la he colocado arriba solo me devuelve 54, esto porque supongo omite los resultados repetidos y no quiero que sea asi, si encuentra un usuario repetido debo tener esos resultados.

A eso me refiero con que mi primera consulta sea mandatoria, es decir que me devuelva los 78 resultados y no solo 54 "depurados", alguna idea?

Gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:50.