Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Union de Tablas (https://www.clubdelphi.com/foros/showthread.php?t=59304)

MaMu 21-08-2008 23:16:53

Union de Tablas
 
Tengo:

TABLAA1
=====
idtablaa1
campoA1
campoA2
campoA3

y

TABLAB1
=====
idtablab1
CampoB1
CampoB2

Como hago para juntar las dos tablas, en una sola tabla C ??

TABLAC1
======
idtablaa1
campoA1
campoA2
campoA3
idtablab1
CampoB1
CampoB2

Saludos

enecumene 21-08-2008 23:58:00

Código SQL [-]
select tabla1.*, tabla2.* from tabla1, tabla2

También puedes usar Joins: Left Join, Right Join, Left Outer Join, etc, etc.

Saludos.

BlueSteel 22-08-2008 00:02:55

Tambien puede ser

Código SQL [-]
Select TablaA1.idtablaa1, TablaA1.campoA1, TablaA1.campoA2, TablaA1.campoA3
From TablaA1
Union
 Select TablaB1.idtablab1, TablaB1.CampoB1, TablaB1.CampoB2
From TablaB1

ahora no estoy seguro.... pero si lo que quieres es insertar el resultado en otra tabla, podrias probar con
Código SQL [-]
Insert Into TablaC1 (idtablaa1, campoA1, campoA2, campoA3, idtablab1, CampoB1, CampoB2)
Select TablaA1.idtablaa1, TablaA1.campoA1, TablaA1.campoA2, TablaA1.campoA3
From TablaA1
Union
 Select TablaB1.idtablab1, TablaB1.CampoB1, TablaB1.CampoB2
From TablaB1

Esto último no estoy muy seguro, pero tenia un ejemplo que me dieron en un curso (SQL Server 2005)...

Salu2

hecospina 22-08-2008 13:17:53

hola
la solucion que te da bluesteel con el sql de union esta bien solo tiene un pequeño detalle

con la clausula union todas las tablas tienen que tener la misma cantidad de campos y ademas tener los mismos tipos

prueba
Código SQL [-]
Select TablaA1.idtablaa1, TablaA1.campoA1, TablaA1.campoA2, TablaA1.campoA3
From TablaA1
Union 
Select TablaB1.idtablab1, TablaB1.CampoB1, TablaB1.CampoB2,cast('' as char(80))
From TablaB1

cast('' as char(80)), tienes que colocar en vez de char (80) el tipo y el tamaño del campo que tiene la tabla A1

Suerte

MaMu 22-08-2008 23:14:47

SOLUCIONADO

Gracias a todos. El problema en si, es que estaba usando una versión de Oracle que no soportaba INNER JOIN. (Detalle crucial que olvidé mensionar)
Actualice el motor y ahora anda de maravillas.


La franja horaria es GMT +2. Ahora son las 19:50:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi