Foros del Web » Programando para Internet » PHP »

Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Estas en el tema de Mostrar 2 campos con el mismo nombre de 2 tablas diferentes en el foro de PHP en Foros del Web. Hola de nuevo, he estado buscando bastante acerca del tema y leyendo los demás post y faqs, pero no consigo dar la solución a mi ...
  #1 (permalink)  
Antiguo 18/11/2008, 10:59
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Hola de nuevo, he estado buscando bastante acerca del tema y leyendo los demás post y faqs, pero no consigo dar la solución a mi problema.
El caso es que tengo 3 tablas en 1 base de datos que tienen varios campos, entre estos campos 2 tienen el mismo nombre en todas las tablas, es decir por ejemplo:

Tabla1 = campo_nombre, campo_fecha, campo_ubicacion...
Tabla2 = campo_nombre, campo_fecha, campo_color...
Tabla3 = campo_nombre, campo_fecha, campo_escala...

Lo que quiero es mostrar los datos de los campos "campo_nombre" y "campo_fecha" todos juntos, por orden ascendente.
He estado peleandome con el "JOIN" y sus multiples sintaxis, pero no hay forma de relacionar los campos, además he leido en varios sitios que el nombre de los campos a relacionar tienen que ser diferentes en cada tabla, lo cual solo me ha confundido más.
Espero haberme explicado bien. De antemano gracias por la ayuda
  #2 (permalink)  
Antiguo 18/11/2008, 11:03
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

haber vamos por partes:

1. el join no necesariamente necesita de dos campos con diferentes nombres ni menos con el mismo, puede ser cualquier nombre, pero el join relaciona aquellos datos que coincidan.

2. no puedes hacer eso, ya que si mal no entiendo, deseas mostrar en un select los datos de las tres tablas, y como crees que tienen el mismo nombre los campos, saldran los datos de las tres..... lo cual es un error.

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 18/11/2008, 11:11
 
Fecha de Ingreso: octubre-2008
Ubicación: Puebla, Pue
Mensajes: 33
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Lo que puedes hacer es utilizar referencias de los campos
por ejemplo

select distinct tabla1.nombre_campo, tabla2.nombre_campo, tabla3.nombre_campo from tabla1, tabla2, tabla3 order by id;

el resultado te arrojará 3 columnas, pero con un ciclo puedes irlos agregando a un vector
  #4 (permalink)  
Antiguo 18/11/2008, 11:13
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

vikutor estas que le das un simple select de tres campos y lo que el chamo quiere es como tienen el mismo nombre, que solo salga una columna y los datos uno debajo de otro.

peru bueno chaval, que si estas utilizando php, ps puedes traer las tres columas con el select, unirlas en un array, y luego recien mostrarlas en una sola columna.....

suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #5 (permalink)  
Antiguo 18/11/2008, 11:14
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 9 meses
Puntos: 35
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Has probado algo como:

Código php:
Ver original
  1. SELECT t1.campo_nombre AS t1_nombre, t1.campo_fecha AS t1_fecha, t2.campo_nombre AS t2_nombre, t2.campo_fecha AS t2_fecha, t3.campo_nombre AS t3_nombre, t3.campo_fecha AS t3_fecha FROM tabla1 t1, tabla2 t2, tabla3 t3 ORDER BY tabla1.campo_nombre ASC

Lo hize ahorita y no estoy seguro que funcione :P pero de todas formas me parece que usar AS es lo que te va a servir.
__________________
Sin Ideas
  #6 (permalink)  
Antiguo 18/11/2008, 11:18
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

............................
pero siguen salindo las 6 columnas en vez de 2 no???
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 18/11/2008, 11:22
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Hola, muchas gracias por vuestras rapidas respuestas. Como vereis soy bastante nuevo en el php.

masterojitos --> Lo has entendido bien. Lo que pretendo hacer es mostrar mediante select los datos de los 3 campos de las distintas tablas en una lista por ejemplo, pero veo que estaba equivocado, pensaba que JOIN servía para eso.
No acabo de entender lo de relacionar los campos que coincidan, podrias ponerme un ejemplo por favor?.

Vikutor --> Voy a probar lo que me has aconsejado, pero me he perdido en lo del ciclo y el vector, podrias explicar un poco como se hace?
Muchas gracias
  #8 (permalink)  
Antiguo 18/11/2008, 11:24
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Vaya que rapido respondeis, gracias de veras. masterojitos, como podria traer las columnas con select y unirlas en una sola??
  #9 (permalink)  
Antiguo 18/11/2008, 11:40
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

ya mira..... agrego dos cosas para finalizar el post.... creo??

1. el join sirve para mostrar datos que sean iguales en las tres tablas......
vamos con ejemplos y quizas este tu solucion.

tabla 1 tabla2

campo1 campo2 campo3 campo2
aaa 111 ddd 333
bbb 222 bbb 444
ccc 333 ccc 555

haber con ello, si hago algo asi:

select a.campo1,a.campo2 from tabla1 a inner join tabla2 b on a.campo1=b.campo3
saldria:
bbb 222
ccc 333
debido a que tabla1 con tabla2 solo se relacionan esos datos

Bueno, pero no con ello, van a salir todos los datos de las dos tablas, ya que si mal no te comprindi tu deseas esto:
aaa 111
bbb 222
ccc 333
ddd 333
bbb 444
ccc 555
LO CUAL NO SE PUEDE.....(YO QUE SEPA???)
------------------------------------------

2. pero podrias hacer esto:
select a.campo1,a.campo2,b.campo3,b.campo2 from tabla1 a ,tabla2 b order by a.campo1,a.campo2

luego obtendrias esto:
aaa 111 ddd 333
bbb 222 bbb 444
ccc 333 ccc 555

y con el php, puedes unir la columa 1 con la 3 Y la 2 con la 4.... aparentando el ejemplo anterior.

BUENO NOSE SI ME SUPE EXPLICAR O ME ENREDE COMO UN LOCO ............

Dios te Bendiga.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #10 (permalink)  
Antiguo 20/11/2008, 13:38
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Hola de nuevo, he estado investigando mas sobre el tema, y probando lo que me has dicho masterojitos, he conseguido relacionar datos y demás, pero no se como hacer que se mezclen los datos en una sola columna por orden alfabético.
Al final lo que haré será meter todos los datos de las 2 bases de datos en una sola, ahora me pregunto cual es el limite de registros y/o campos para una base de datos, asi como la capacidad, debido que tendré que meter muchos datos en ella.

De todas formas me ha servido de mucho vuestra ayuda para aprender más, gracias, especialmente a masterojitos ;). Un saludo
  #11 (permalink)  
Antiguo 20/11/2008, 13:56
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Mari1982, ya intentaste con UNION o UNION ALL?

Código sql:
Ver original
  1. SELECT
  2. campo_nombre, campo1
  3. FROM
  4. tbl1
  5. WHERE
  6. algo = algo
  7.  
  8. UNION
  9.  
  10. SELECT
  11. campo_nombre, campo2
  12. FROM
  13. tbl2
  14. WHERE
  15. algo2 = algo2
  16.  
  17. ORDER BY
  18. campo_nombre

Creo que es lo que estás necesitando...o comprendí mal?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #12 (permalink)  
Antiguo 21/11/2008, 04:47
 
Fecha de Ingreso: mayo-2008
Ubicación: España
Mensajes: 130
Antigüedad: 15 años, 11 meses
Puntos: 3
Lo pruebo y te digo algo, muchas gracias :)

Bien pues parece que la consulta funciona pues no me muestra errores,
el error me sucede al querer mostrar los resultados... Con que sentencia puedo mostrarlos?

Última edición por GatorV; 21/11/2008 a las 10:01
  #13 (permalink)  
Antiguo 21/11/2008, 06:29
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Mostrar 2 campos con el mismo nombre de 2 tablas diferentes

Con la misma que estabas usando anteriormente, funciona de la misma manera.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 23:36.