Aunar registros de una tabla en otra.

Te doy las gracias de antemano por ayudarme en una cuestión que me está trayendo de cabeza.
Lo que quiero es extraer de una tabla sus registros y aunarlos en otra.
Por ejemplo:
Tengo en la "Tabla 1" un campo alfanumérico y tres numéricos. A partir de ella, quiero operar en su información, para crear otra tabla que sea el resultado de la siguiente operación:
Que aúne en un solo registro aquellos registros que tengan la misma información en el campo alfanumérico, y, a continuación, también aúne, en los tres campos numéricos restantes, la suma de los contenidos respectivos de los campos.
Muchas gracias amigo, porque una cosa que creía fácil me está volviendo loco.
6

6 respuestas

Respuesta
1
Disculpa pero que tenemos lenguajes diferentes
"¿Aunar" que significa juntar?
¿Si entendí bien seria los registros de 4 campos diferentes juntarlos todos en un solo?
¿Necesito saber como realias la conexión a la base de datos y que base usas?
Sí, aunar es juntar.
He de juntar los registros de la tabla que contengan el mismo campo alfanumérico, sumando sus correspondientes importes en los demás campos numéricos.
Este es un ejemplo de la conexión:
----------------------------------
Set DBAdmon = OpenDatabase("C:\Administración\BD.mdb")
Set FiltComunidades = DBAdmon.OpenRecordset("Select * from ComunidadesCON")
FiltComunidades.MoveFirst
-----------------------------------
Y la base que uso es el Access 2000, sus conocidos archivos ".mdb".
Gracias otra vez amigo.
Te pido paciencia porque a veces es difícil interpretar de la misma manera las situaciones.
¿Tu campo alfanumérico es tu clave primaria o es una clave que se repite?
Respuesta
1
No se si aunar es sumar o acumular. Eso es lo que entiendo por tus palabras.
Eso lo puedes hacer con SQL utilizando GROUP BY <elcampo>.
<elcampo> = es tu campo alfanumerico.
Para sumar o acumular u aunar los tres campos numéricos puedes realizar un SUM( Campo1) as Campo1, SUM(Campo2) AS Campo2, SUM(Campo3) As Campo3
Respuesta
1
Bueno tal vez soy yo o no se que pero el detalle es que no entendí en ciencia exacta que es lo que quieres hacer.. mira veo que tienes una tabla 1
1.- con string (alfanumerico)
2.- Con integer (enteros)
Cuando escribiste que quieres hacer la siguiente operación.. no me salio nada.. pero bueno trato de deducir..
.. te siguiero que crees otro campo llamado clave paraa que ese dato sea el dato que los una y así puedas relacionar tablas.. ahora te toca decirme.. con que conectas que utilizas ADO .. data.. SQL... para que pueda ayudarte en lo que necesitas exactamente..
Respuesta
1
No entiendo que es aunar pero puede ser algo como lo siguiente:
select campo1,sum(campo2),sum(campo3),sum(campo4) from tabla1 group by campo1
Respuesta
1
Tabla1: Campos A1(Alfanumerico), N1(numerico1), N2, N3
Tabla2: Van a tener la misma estructura: A1, N1,N2,N3. Por supuesto los Campos N1,N2,N3, van a almacenar los valores sumados
insert into Tabla 2 (select A1,Sum(N1) as SUMA_N1, Sum(N2) as SUMA_N2,Sum(N) as SUMA_N3
from T1
group by A1). Prueba esta consulta, seguramente va a funcionar o en todo caso va a guiar. [email protected] (MSN)
Respuesta
1
Solo se me ocurre que lo hagas mediante una sentencia SQL, parecida a la siguiente :
INSERT INTO tabla_nueva
SELECT columna_alfanumerica, SUM(columna_numerica1), SUM(columna_numerica2), SUM(columna_numerica3)
FROM tabla_1
GROUP BY columna_alfanumerica
Si ejecutas esta sentencia desde Visual basic, debes hacerlo mediante una función DB.execute. Por contra, puedes hacerlo también manualmente desde el generador SQL de Access.
En ambos casos, la sentencia SQL insertará en la tabla nueva 1 fila por cada valor alfanumérico, y la suma de los valores numéricos que coincidan por cada valor alfanumérico.
Creo que eso era lo que querías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas