Acess - Unir más de dos tablas

Tengo 9 tablas, todas con los mismos encabezados pero de 9 zonas distintas.

Me gustaría unirlas todas en un sola consulta, pero no encuentro por internet cómo hacerlo.

Soy capaz de unir dos así:

union select Tabla2.*
from Tabla2;

Pero si hago:

select Tabla1.*
from Tabla1;
union select Tabla2.*
from Tabla2

union select Tabla3.*
from Tabla3;

Esto no funciona... ¿es posible hacer algo así con 9 tablas?

2 respuestas

Respuesta
1

Si todas tienen los mismos campos, puede hacerlo como pretendía. Sólo debe tener cuidado con el ";", que indica fin de la sentencia.

Pruebe con:

SELECT * FROM Tabla1
UNION
SELECT * FROM Tabla2
UNION
SELECT * FROM Tabla3
UNION
SELECT * FROM Tabla4
Etc.

Y si no tuvieran los mismos campos, sino que sólo compartieran algunos, también sería posible "unirlas", pero ya sería necesario complicar la sentencia para unificar las estructuras.

Respuesta
1

Si utiliza UNION ALL se ejecuta más rápido y se asegura que se incluyan todos los registros. Algo como

SELECT * FROM Tabla1
UNION ALL
SELECT * FROM Tabla2
UNION ALL
SELECT * FROM Tabla3
UNION ALL
SELECT * FROM Tabla4

¡Gracias! 

había visto lo de "union all" en carias páginas pero sólo con dos tablas y había intentado "concatenarlas" pero sin éxito hasta ahora.

Muchas gracias. Va realmente bien.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas