entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Como cruzar tablas con el mismo campo

Hola! soy nuevo en el foro.

Necesito ayuda con la siguiente consulta de MYSQL

 $equipocliente = mysqli_query($db, "SELECT 
                                            a.idorden,
                                            a.falla,
                                            a.fechadeingreso,
                                            b.idcliente,
                                            b.nombre,
                                            b.telefono,
                                            b.celular,
                                            b.domicilio,
                                            b.documento, 
                                            b.correoelectronico,
                                            c.idequipo,
                                            c.marca,
                                            c.modelo,
                                            c.numerodeserie,
                                            d.idusuario,
                                            d.nombre,
                                            d.apellido

                                    FROM BD1.sqlordenes a

                                        INNER JOIN 
                                        DB2.sqlclientes b
                                        ON a.idcliente = b.idcliente

                                            INNER JOIN 
                                            DB3.sqlequipos c
                                            ON a.idequipo = c.idequipo

                                                INNER JOIN 
                                                DB4.sqlusuarios d
                                                ON a.idusuario = d.idusuario
                                                    WHERE idorden =".$idorden);

Como veran, en el SELECT tengo dos items con el mismo nombre. b.nombre y d.nombre. uno es de clientes y otro es de usuarios.

como puedo hacer para poder obtener estos dos resultados en una misma consulta, porque no me deja continuarlo!
ayuda!

gracias!

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola @gusgeek,

para que cuando se arma el vector asociativo que contendrá el resultado, si hay 2 campos que se llaman igual, el segundo campo que aparezca sobreescribirá al valor del primero.

Para resolver esto se usan alias en las querys, para que los nombres de los campos proyectados no se repitan. En tu caso podría ser:

$equipocliente = mysqli_query($db, "SELECT 
                a.idorden,
                a.falla,
                a.fechadeingreso,
                b.idcliente,
                b.nombre AS nombre_cliente,
                b.telefono,
                b.celular,
                b.domicilio,
                b.documento, 
                b.correoelectronico,
                c.idequipo,
                c.marca,
                c.modelo,
                c.numerodeserie,
                d.idusuario,
                d.nombre AS nombre_usuario,
                d.apellido
...

Ahora el resultado tendrá todos los campos con diferente nombre.

Saludos cordiales

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta