Ayuda con validacion de dos tablas sql

Vanel

Bovino maduro
#1
Que tal amigos buenos dias, disculparan la molestias, pero soy un estudiante de sistemas novato, que esta desarrollando una aplicacion donde manipulo una base de datos(SQL) desde Java, mi problema es que tengo dos tablas una que se llama datos1 y la otra datos2, en ambas tengo las mismas columnas, lo que cambia es el numero de registros, en la tabla uno por ejmplo tengo 500 y el la tabla dos tengo 1083 registros, todos ellos sin ninguna relacion, lo que quiero es hacer un cruce de tablas puesto que necesito los registros de ambas tablas para asi poder sacar una tabla master, en ambas tablas necesito validar que registro de la tabla 1 es igual a otro registro de la tabla dos para asi hacer una nueva tabla con los nuevos registros actualizados...

Si no me di a explicar, porfa diganme y yo lo vuelvo a explicar a detalle, de ante mano muchas gracias.

Mis tablas son dos:

tabla 1= nuevos en esta tabla hay dos columnas(Equipos,Usuarios).
tabla 2= datos1 en esta tabla hay dos columnas(Equipos,Usuarios).

Lo que requiero es que en la tabla nuevos se haga un update en la columna Equipos, comparando la columna Equipos de la tabla nuevos con la tabla datos y su columnas Equipos, para asi definir si existe el nombre del quipo que se actualice todo en la columna Equipos de la tabla nuevos.
 

greyess74

Bovino maduro
#3
lo que se me ocurre es que puedes hacer un cross join, nada mas hay que tener cuidado porque puede resultar algo desastroso, pero de que se puede se puede, si necesitas un poco de información te dejo un link.

Para mas explicación de los joins, consulta un manual de sentencias SQL completo.
 

maweeVR

Bovino maduro
#4
Sin tus tablas no se podria hacer una consulta exacta pero prueba con algo asi
select t1.* from tabla1 t1,tabla2 t2 where t1.nombre_columna = t2.nombre_columna

es solo algo, o como visualizar los datos ya es cosa tuya

espero te sirva salu22222222222222222222222222222
 

maweeVR

Bovino maduro
#5
Sin tus tablas no se podria hacer una consulta exacta pero prueba con algo asi
select t1.* from tabla1 t1,tabla2 t2 where t1.nombre_columna = t2.nombre_columna

es solo algo, o como visualizar los datos ya es cosa tuya

espero te sirva salu22222222222222222222222222222
 
#6
Para sacar una tabla "master" por asi decirlo juntalas con un Union, mas o menos asi :

select campo1,campo2 from tabla1
union all
select campo1, campo2 from tabla2

* la condición es que las 2 tablas tengan los mismos tipos de datos y la misma cantidad de campos que pondrás antes del from.

Saludos
 

Vanel

Bovino maduro
#7
RE:

Para sacar una tabla "master" por asi decirlo juntalas con un Union, mas o menos asi :

select campo1,campo2 from tabla1
union all
select campo1, campo2 from tabla2

* la condición es que las 2 tablas tengan los mismos tipos de datos y la misma cantidad de campos que pondrás antes del from.

Saludos
Ok amigo mira encontre en la internet hacer un update con subconsultas y con la condicion exist, en mi caso quedaria asi: pero me tira un error como este:

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

Y el codigo seria este:

UPDATE nuevos
SET Equipos = (select * from datos1 where datos1.Equipos = nuevos.Equipos)
WHERE EXISTS (select * from datos1 where datos1.Equipos = nuevos.Equipos);

NUEVOS: Es la tabla master que tiene la informacion actualizada y veridica.
EQUIPOS: Es la columna de la tabla NUEVOS que contiene el nombre de los equipos.
DATOS1: Es mi segunda tabla en donde tambien contiene una columna EQUIPOS, pero esta tabla contiene la informacion atrazada y tengo que actualizarla.

Como vez hermano?
 

Vanel

Bovino maduro
#8
Sin tus tablas no se podria hacer una consulta exacta pero prueba con algo asi
select t1.* from tabla1 t1,tabla2 t2 where t1.nombre_columna = t2.nombre_columna

es solo algo, o como visualizar los datos ya es cosa tuya

espero te sirva salu22222222222222222222222222222
Ok amigo mira encontre en la internet hacer un update con subconsultas y con la condicion exist, en mi caso quedaria asi: pero me tira un error como este:

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

Y el codigo seria este:

UPDATE nuevos
SET Equipos = (select * from datos1 where datos1.Equipos = nuevos.Equipos)
WHERE EXISTS (select * from datos1 where datos1.Equipos = nuevos.Equipos);

NUEVOS: Es la tabla master que tiene la informacion actualizada y veridica.
EQUIPOS: Es la columna de la tabla NUEVOS que contiene el nombre de los equipos.
DATOS1: Es mi segunda tabla en donde tambien contiene una columna EQUIPOS, pero esta tabla contiene la informacion atrazada y tengo que actualizarla.

Como vez hermano?
 
Arriba