MySQL - Mostrar 2 tablas como si fuera 1

 
Vista:

Mostrar 2 tablas como si fuera 1

Publicado por hectorito (3 intervenciones) el 09/05/2001 15:29:29
Tengo varias tablas con exactamente la misma estructura. Quisiera hacer un SELECT sobre varias de esas tablas y que los resultados se mostrasen como si los registros fuesen de una única tabla. Es decir una fila para cada registro de cada tabla; en lugar de duplicar las columnas para cada tabla.

Me gustaría hacerlo sin tener que construir una tabla temporal. Solo quiero que se muestren los resultados.

Alguna idea? Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mostrar 2 tablas como si fuera 1

Publicado por Tonto (8 intervenciones) el 09/05/2001 16:24:09
No entiendo muy bien tu duda, cuando haces un query a una tabla o a un grupo de tablas relacionadas, tú eliges las columnas que necesitas en el resultado, ¿por qué dices que se duplican?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Un ejemplo a ver si queda + claro

Publicado por hectorito (3 intervenciones) el 09/05/2001 16:37:22
Pondre un ejemplo, yo tengo estas 2 tablas que tiene la misma estructura (2 columnas, la 1ª un nombre y la 2ªun numero):

Tabla 1: Tabla2:
Nombre Numero | Nombre Numero
Yo 1 | Tu 2

Al hacer select sobre las 2 tablas sale:
Nombre Numero Nombre Numero
Yo 1 Tu 2

Y yo lo que quiero es:

Nombre Numero
Yo 1
Tu 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Un ejemplo a ver si queda + claro

Publicado por Tonto (8 intervenciones) el 09/05/2001 17:21:08
Eso no se puede hacer, el nombre completo de las columnas es Tabla1.Nombre, Tabla1.Numero, Tabla2.Nombre, Tabla2.Numero, y no puedes pegar la información de una columna en otra con un select. Lo siento.

Piensa la forma de mejorar la estructura de tu base de datos. en todo caso no soy la última palabra en la materia, y si alguien descubre la forma de hacerlo, yo también le estaría agradecido.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Un ejemplo a ver si queda + claro

Publicado por irma (3 intervenciones) el 09/05/2001 21:00:35
no se lo quie se me ocurre que puedes haceres un union

select nombre 1, numero1
from tabla1
union
select nombre2, numero2
from tabla2

no se me ocurre nada mejor, suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ya tengo la solucion!

Publicado por hectorito (3 intervenciones) el 09/05/2001 22:24:15
Consiste en crear una MERGE table de las tablas implicadas y hacer la consulta sobre la MERGE table. Se crea una tabla nueva pero que solo tiene la estructura, no contiene ningun registro. Esta explicado en el punto 8.2 de la documentacion. Con el ejemplo seria.

CREATE TABLE total (Nombre CHAR(20), Numero INT) TYPE=MERGE UNION=(tabla1,tabla2)

Al hacer un SELECT sobre total salen los de ambas tablas. Gracias irma por lo de UNION que me dio la pista.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar