Es posible consultar a tres tablas en un solo query?
Tengo un ejemplo de una consulta a dos, me surge la duda si es posible y en su caso si es recomendable?
Cita:
Saludos. Editado: Codigo programación no permitido en foros de BBDD
| ||||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Conque sentido ?
__________________ Mi emprendimiento: Software BRC Youtube: Tutoriales de programación y electrónica. |
| |||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Hola fullmental: En primer lugar algunas observaciones: NO INCLUYAS CODIGO PHP ni de ningún otro lenguaje de programación, está absolutamente prohibido en este foro y si continuas con esta práctica te expones a que los moderadores borren o editen tu post y no se termine por entender, ojo con eso... Segundo, puedes consultar todas las tablas que necesites en una sola consulta, no hay límite, pero debes tener cuidado de poner todas las relaciones entre tus tablas, de lo contrario te expones a que ocurra un producto cartesiano. Tercero, aunque puedes numerar las tablas a utilizar utilizando FROM-WHERE, no es recomendable que lo hagas. En lugar de eso, utilizar JOIN's (INNER, LEFT O RIGTH según sea el caso), es decir, en decir. En lugar de hacer esto:
Código:
Has esto:... FROM tabla1, tabla2, tabla3 WHERE tabla1.campo = tabla2.campo and tabla1.campo = tabla3.campo ...
Código:
Saludos... FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo INNER JOIN tabla3 ON tabla1.campo = tabla3.campo ... Leo. |
| ||||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Eso que habías posteado no contiene un código comprensible en este foro, y con todas las variables que habías puesto, es imposible saber si la consulta tiene algún sentido. Menos aún sin saber cómo es el esquema de la base. Por favor, lee las normas del foro de BBDD. Postea por lo menos una consulta SQL pura, y si es posible un esquema de la base para entender lo que quieres hacer.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Gracias Leonardo. Una disculpa no sabia lo del código, tenia mucho tiempo sin entrar al foro. Editare mi post para que sea comprensible. respondiendo a la pregunta : ¿Con qué sentido ? El objetivo es traer datos de diferentes tablas para determinar por ejemplo que usuarios contestaron bien las preguntas de la trivia núm. X, los datos del usuario y sus respuestas están en tablas distintas. |
| ||||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Perfecto, tal vez sea posible,pero necesitamos ver la estructura real de las tablas, y una consulta escrita con sólo SQL y sin variables de PHP o ningún otro lenguaje. Incluso es posible que necesitemos aclararlo con algún ejemplo de datos reales.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: Es posible consultar tres tablas al mismo tiempo? Gnzsoloyo, leonardo_josue Muchas gracias por su tiempo y paciencia. pongo un ejemplo de las tablas:
Código:
-------------------- tabla_usuarios --------------------- ID Nombre Correo IDFacebook etc. etc. 02 José [email protected] 12345 XYZ 03 Miguel [email protected] 23455 JMN ---------------------- tabla_respuestas ----------------------- ID userID Trivia Num Respuestas recepción 01 02 01 ABC fecha x 02 03 01 DEF fecha x ---------------------- tabla_trivias ----------------------- ID PREGUNTA RESPUESTAS_POSIBLES RESPUESTA_CORRECTA 01 ¿pregunta? opA, opB, opC opC 02 ¿pregunta 2? opN, opD, opa opN Quisiera poder armar una tabla con nombre y correo de los usuarios que contestaron bien la trivia 1 por ejemplo. Me sirve muy bien el ejemplo de Leonardo, investigaré el uso de los JOINs (INNER, LEFT or RIGHT) para poder usarlos en este ejemplo. Aqui va la consulta que menciono en el primer post (sin código)
Código:
Obtengo lo almacenado en las tablas tabla_usuarios y tabla_respuestas de los usuarios que respondieron la trivia 1.SELECT tabla_usuarios.*, tabla_respuestas.* FROM tabla_usuarios, tabla_respuestas WHERE tabla_respuestas.trivia_id = 1 AND tabla_usuarios.user_FBid = tabla_respuestas.user_FBid ORDER BY tabla_respuestas.answer_reception "; Ahora, lo que me falta saber es de esa tercera tabla tabla_trivias, quiénes contestaron bien. |
| |||
Respuesta: Es posible consultar tres tablas al mismo tiempo? mmmm....creo que la consulta seria algo como esta:
Código MySQL:
Ver original entre la tabla tabla_respuestas y la tabla_trivias, como no pude ver las relaciones opte por tomar el id de los mismos....espero te ayude....
__________________ Lo que no se....tampoco creo saberlo.... |
Etiquetas: |