![]() |
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. |
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. |
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 |
Re: php mysql consultar varias tablas Por cierto te muevo al foro de SQL. Saludos. |
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 |
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 |
| La zona horaria es GMT -6. Ahora son las 06:38. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.