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

Unir dos tablas con Mysql

Estas en el tema de Unir dos tablas con Mysql en el foro de Mysql en Foros del Web. Hola foro ¿que tal? Necesito unir dos tablas, pero no tienen la misma estructura, hay alguna forma de que lea una y despues la otra ...
  #1 (permalink)  
Antiguo 08/10/2010, 04:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Unir dos tablas con Mysql

Hola foro ¿que tal?

Necesito unir dos tablas, pero no tienen la misma estructura, hay alguna forma de que lea una y despues la otra sin usar la clausura UNION.

Ejemplo
TABLA A
codigo nombre tipo
1 TONI A
2 PEDRO A
3 JUAN A

TABLA B
codigo nombre tipo
1 CARLOS B
2 PABLO B

El resultado deberia ser

codigo nombre tipo
1 TONI A
2 PEDRO A
3 JUAN A
1 CARLOS B
2 PABLO B

El campo codigo y nombre existen en las dos tablas el resto de campos no, la idea es que me junte los de la tabla a con la b para tener una lista de todos, aunque los codigos se pueden repetir, mediante un tercer campo tipo yo se ha que tabla pertenece.

Un saludo y gracias
  #2 (permalink)  
Antiguo 08/10/2010, 06:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Unir dos tablas con Mysql

En tu ejemplo estás creando un tercer campo, por lo que parece, lo que hace que la cantidad de campos se iguale y se cumpla el requisito de UNION.
En esencia en ese caso se usaría un UNION ALL, y además, lo que al SQL le importa es que los campos invocados en el SELECT sean la misma cantidad en ambos casos, no que las tablas los posean, no te confundas.
De hecho, podrías tranquilamente cruzar sus tipos mientras la cantidad de campos invocados (reales o virtuales) sean los mismos. El resultado sería basura, pero no imposible de sacar.

En tu caso la cosa sería algo así:
Código MySQL:
Ver original
  1. SELECT a, b, 'A' c
  2. FROM TABLA_A
  3. SELECT a, b, 'B' c
  4. FROM TABLA_B;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/10/2010, 11:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Unir dos tablas con Mysql

Gracias por la aclaración gnzsoloyo, lo tendré en cuenta, las tablas no son iguales pero si que hay campos idénticos, comento la idea por si alguien se le ocurre otro planteamiento que no sea el mio. Existe una tabla con servicios globales de la aplicación que se le da a cada usuario o cliente que la utiliza, a partir de ahora cada cliente puede tener ellos mismos servicios propios aparte de los que se le ofrecen, estos se graban en una tabla aparte para que ellos pueden revenderlos o ofertarlos, la idea es que cuando hagan un presupuesto en la listas o vistas de la aplicación puedan elegir cualquier servicio que tengan tanto sea global o propio, todos juntos en una selección de servicios, tanto sea como he dicho en presupuestos, como catalogo, informes, etc, sin tenerlos que distinguir, internamente la aplicación ya sabrá mediante el campo tercero que comentaba a quien pertenece lo que ha vendido para que actué de una manera o de otra, en principio se me ocurrió lo de union, pero tampoco se si hay otra manera mejor de plantear la situación o de hacerla mediante subconsultas o algo por el estilo.

Gracias por vuestra ayuda.

Etiquetas: dos, tablas, unir
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 09:38.