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

[SOLUCIONADO] ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repetido?

Estas en el tema de ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repetido? en el foro de Mysql en Foros del Web. Hola, buenas tardes! tengo un problemilla que quiero ver si se puede solucionar de otra forma. Tengo una consulta de la unión de dos tablas: ...
  #1 (permalink)  
Antiguo 21/05/2013, 12:28
 
Fecha de Ingreso: febrero-2013
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repetido?

Hola, buenas tardes!

tengo un problemilla que quiero ver si se puede solucionar de otra forma. Tengo una consulta de la unión de dos tablas:

Código MySQL:
Ver original
  1. FROM Usuario JOIN Usuario_Categoria
  2. WHERE Usuario_Categoria.ID_Categoria=Usuario.ID_Categoria
En este caso me genera una tabla cuyos nombre de los campos (de tablas diferentes) tienen el mismo nombre, en este caso fecha_baja.Como se puede ver aquí

ID_Usuario ID_Categoria Login Password Nombre Apellidos DNI Telefono Fecha_Nacimiento Correo Calle Cod_Postal Poblacion Provincia Fecha_Alta Fecha_Baja Estado ID_Categoria Rol Fecha_Baja

Al intentar acceder a dicho campo (en éste caso solo quiero el del usuario) cuando intento acceder con este codigo:
Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Me accede al fecha_baja de la segunda tabla... ¿Hay alguna opción de acceder a dicho campo sin necesidad de cambiar el nombre?

Muchas gracias y perdón por las molestias

Última edición por gnzsoloyo; 21/05/2013 a las 12:40 Razón: Código de programación no permitido en foros de Bases de Datos
  #2 (permalink)  
Antiguo 21/05/2013, 12:34
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repeti

Código MySQL:
Ver original
  1.   u.fecha_alta fecha_alta1,
  2.   uc.fecha_alta fecha_alta2
  3. FROM Usuario u
  4.  INNER JOIN Usuario_Categoria uc
  5.  ON uc.ID_Categoria=u.ID_Categoria

La consulta es mejor, creo, con INNER JOIN, y haciendo uso de ON
No uses el asterisco (*). Tráete solo los campos que necesites.
fecha_alta1 y fecha_alta2 son alias y te permitirán recuperar cada dato por separado, sin cambiar el nombre del campo. También he usado alias para las tablas, a las que he llamado u y uc respectivamente.
  #3 (permalink)  
Antiguo 21/05/2013, 12:41
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repeti

Hola danilovic:

Hacer un SELECT * es una terrible práctica, no solo por rendimiento, sino por documentación de las consultas... independientemente de requieras TODOS LOS CAMPOS de tus tablas, es preferible listar cada uno de ellos en lugar de poner el (*)... cuando utilizas JOIN's, de entrara estarías duplicando los campos que te sirven para hacer la unión, lo cual es un desperdicio.

Ahora bien, volviendo a tu problema, lo que puedes hacer es utilizar un ALIAS para cada uno de los campos, de tal manera que no tengas que renombrar nada:

Código:
SELECT 
U.ID_Usuario, 
U.Login,
...
U.Fecha_Baja Esto_Es_Un_Alias,
...
UC.Fecha_Baja Esto_Es_Otro_Alias,
...
FROM Usuario U JOIN Usuario_Categoria UC
...
de tal manera que al llamar a tu campo, lo hagas por el ALIAS:

Código:
...
$row["Esto_Es_Un_Alias"]
...
Saludos
Leo.
  #4 (permalink)  
Antiguo 21/05/2013, 12:42
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repeti



Ahora fue jurena quien me ganó con la respuesta jejejejejeje

Saludos
Leo
  #5 (permalink)  
Antiguo 21/05/2013, 12:57
 
Fecha de Ingreso: febrero-2013
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: ¿Cómo sacar los datos de una tabla mysql cuyos campos tengan nombre repeti

Ante todo gracias a los dos, la verdad es que se que lo del * es penoso para el rendimiento, pero en este caso necesito casi todos los campos que salen ahí por lo tanto por no ponerlos uno a uno utilicé el asterisco (es una aplicación pequeña la cual no requiere demasiada optimización ni tiene una gran carga de consultas).

Etiquetas: php
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




La zona horaria es GMT -6. Ahora son las 16:36.