Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 20-jul-2007, 05:42   #1 (permalink)
mimail está en el buen camino
 
Fecha de Ingreso: enero-2004
Mensajes: 5
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.
mimail está desconectado   Responder Citando
Antiguo 20-jul-2007, 08:11   #2 (permalink)
TolerantX está en el buen camino
 
Avatar de TolerantX
 
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 341
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
TolerantX está desconectado   Responder Citando
Antiguo 20-jul-2007, 08:14   #3 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 13.984
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.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 20-jul-2007, 08:15   #4 (permalink)
$this->role('moderador');
GatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradableGatorV es realmente agradable
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ags/
Mensajes: 13.984
Re: php mysql consultar varias tablas

Por cierto te muevo al foro de SQL.

Saludos.
__________________
Blog Web
GatorV está desconectado   Responder Citando
Antiguo 20-jul-2007, 12:17   #5 (permalink)
mimail está en el buen camino
 
Fecha de Ingreso: enero-2004
Mensajes: 5
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
mimail está desconectado   Responder Citando
Antiguo 21-jul-2007, 03:02   #6 (permalink)
mimail está en el buen camino
 
Fecha de Ingreso: enero-2004
Mensajes: 5
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
mimail está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:02.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93