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

como unir varias tablas

Estas en el tema de como unir varias tablas en el foro de Bases de Datos General en Foros del Web. hola como estas espero q me colaboren, este foro a sido de gran ayuda para mi. la duda q tengo es la siguiente, tengo 5 ...
  #1 (permalink)  
Antiguo 17/06/2008, 00:19
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años, 7 meses
Puntos: 4
como unir varias tablas

hola como estas

espero q me colaboren, este foro a sido de gran ayuda para mi.

la duda q tengo es la siguiente, tengo 5 tablas q tienen las mismas filas. quiero saber una busqeda de los diferentes registro de las tablas, como hago para hacer una sql q me una estas tablas y forme una tabla general para almacenar todos lo datos

he hecho algo con ( union all) pero solo puedo unir dos tablas y buscar sus datos

SELECT * FROM general_pana WHERE Orden LIKE %colname% UNION ALL SELECT *
FROM general_sam
WHERE Orden LIKE %colname%

gracias por la colaboracion
  #2 (permalink)  
Antiguo 17/06/2008, 08:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: como unir varias tablas

Sí puedes hacer union all entre las cinco tablas

(SELECT campo1, campo2, campo3 from tabla 1)
UNION ALL
(SELECT campo1, campo2, campo3 from tabla 2)
UNION ALL
(SELECT campo1, campo2, campo3 from tabla 3)
UNION ALL
(SELECT campo1, campo2, campo3 from tabla 4)
UNION ALL
(SELECT campo1, campo2, campo3 from tabla 5)
WHERE campo2 LIKE '%loquequieras%' ORDER BY campo3

Observa el uso de los paréntesis. El where está fuera de los paréntesis porque afecta a los registros de las 5 tablas; puede usarse dentro de cada uno de los paréntesis un WHERE específico para cada tabla, pero eso ya no permitiría un where fuera de los paréntesis. Piensa, además, que los campos de cada tabla deben aparecer en el mismo número y que la tabla que sirve de referencia es la primera (podrías usar distintos campos, pero la referencia en el where, tal y como está, debería hacerse a los nombres de los campos de la primera tabla o a los alias creados en ella).

Pero el union all reúne sólo temporalmente las tablas. Los registros seguirán estando en distintas tablas. Si quieres reunir de una manera definitiva en una tabla todos los registros de las cinco tablas (deberías preguntarte por qué separaste en 5 tablas los registros), lo primero que debes saber es que los id cambiarán y si tienes relaciones establecidas con otras tablas a partir de ellos, podrás tener muchos problemas. Por otra parte, no sé a qué base de datos te refieres y he imaginado que a MySQL, pero tampoco nos dices si son tablas MyIsam o InnoDB. Si son MyIsam y no tienes tablas relacionadas con estas cinco tablas, podrás reunir fácilmente la información en una tabla, pero respóndenos primero a estos interrogantes... Luego, si es que sigues queriendo hacerlo, te diremos cómo hacerlo.
  #3 (permalink)  
Antiguo 17/06/2008, 10:19
 
Fecha de Ingreso: abril-2008
Mensajes: 310
Antigüedad: 16 años, 7 meses
Puntos: 4
Respuesta: como unir varias tablas

amigo muchas gracias era lo q estaba buscando
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 14:12.