Soilcitud urgente consulta SQL 2005

19/11/2008 - 00:06 por Emily | Informe spam
Necesito vuestra ayuda

2DBs: DB1 y DB2
2 Vistas: DB1.Vst1 y DB2.Vst1 (ambas tiran de unas tablas identicas pero con
diferente registros)
2 campos: DB1.Vst1.Codigo y DB2.Vst1.Codigo

Necesito saber, que codigos son iguales en las 2 vistas e incluirlo en una
tabla y saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.

Es viable?
Gracias.

Preguntas similare

Leer las respuestas

#1 Juan Diego Bueno
19/11/2008 - 00:46 | Informe spam
Hola Emily:

"Emily" escribió en el mensaje de
noticias:
Necesito vuestra ayuda

2DBs: DB1 y DB2
2 Vistas: DB1.Vst1 y DB2.Vst1 (ambas tiran de unas tablas identicas pero
con diferente registros)
2 campos: DB1.Vst1.Codigo y DB2.Vst1.Codigo

Necesito saber, que codigos son iguales en las 2 vistas e incluirlo en una
tabla



INSERT INTO NUEVATABLA(CODIGO)
SELECT V1.CODIGO FROM DB1.VST1
INNER JOIN DB2.VST1 V2 ON V1.CODIGO=V2.CODIGO


y saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.



INSERT INTO NUEVATABLA2(CODIGO)
SELECT CODIGO FROM DB1.VST1
WHERE CODIGO NOT IN (SELECT CODIGO FROM DB2.VST1)

y

INSERT INTO NUEVATABLA3(CODIGO)
SELECT CODIGO FROM DB2.VST1
WHERE CODIGO NOT IN (SELECT CODIGO FROM DB1.VST1)

Saludos
Respuesta Responder a este mensaje
#2 Alejandro Mesa
19/11/2008 - 01:00 | Informe spam
Trata:

> Necesito saber, que codigos son iguales en las 2 vistas



select distinct a.codigo
into dbo.cod_iguales
from DB1.Vst1 as a inner join DB2.Vst1 as b
on a.codigo = b.codigo


select codigo
into dbo.cod_iguales
from (
select codigo from DB1.Vst1
intersect
select codigo from DB2.Vst1
) as t

saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.



select distinct codigo
into dbo.cod_en_db1_not_en_db2
from DB1.Vst1 as a
where not exists (
select *
from DB2.Vst1 as b
where b.codigo = a.codigo
)


select codigo
into dbo.cod_en_db1_not_en_db2
from
(
select codigo from DB1.Vst1
except
select codigo from DB2.Vst1
) as t


select distinct codigo
into dbo.cod_en_db2_not_en_db1
from DB2.Vst1 as a
where not exists (
select *
from DB1.Vst1 as b
where b.codigo = a.codigo
)


select codigo
into dbo.cod_en_db2_not_en_db1
from
(
select codigo from DB2.Vst1
except
select codigo from DB1.Vst1
) as t



AMB



"Emily" wrote:

Necesito vuestra ayuda

2DBs: DB1 y DB2
2 Vistas: DB1.Vst1 y DB2.Vst1 (ambas tiran de unas tablas identicas pero con
diferente registros)
2 campos: DB1.Vst1.Codigo y DB2.Vst1.Codigo

Necesito saber, que codigos son iguales en las 2 vistas e incluirlo en una
tabla y saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.

Es viable?
Gracias.


Respuesta Responder a este mensaje
#3 Jose TH
19/11/2008 - 01:33 | Informe spam
Aunque le diste las dos opciones puntualizar que Except e Intercept, son de
la versión 2008.
Son dos simples operaciones de conjuntos y muy prácticas para lo que
solicita el OP.


"Alejandro Mesa" escribió en el
mensaje news:
Trata:

> Necesito saber, que codigos son iguales en las 2 vistas



select distinct a.codigo
into dbo.cod_iguales
from DB1.Vst1 as a inner join DB2.Vst1 as b
on a.codigo = b.codigo


select codigo
into dbo.cod_iguales
from (
select codigo from DB1.Vst1
intersect
select codigo from DB2.Vst1
) as t

saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.



select distinct codigo
into dbo.cod_en_db1_not_en_db2
from DB1.Vst1 as a
where not exists (
select *
from DB2.Vst1 as b
where b.codigo = a.codigo
)


select codigo
into dbo.cod_en_db1_not_en_db2
from
(
select codigo from DB1.Vst1
except
select codigo from DB2.Vst1
) as t


select distinct codigo
into dbo.cod_en_db2_not_en_db1
from DB2.Vst1 as a
where not exists (
select *
from DB1.Vst1 as b
where b.codigo = a.codigo
)


select codigo
into dbo.cod_en_db2_not_en_db1
from
(
select codigo from DB2.Vst1
except
select codigo from DB1.Vst1
) as t



AMB



"Emily" wrote:

Necesito vuestra ayuda

2DBs: DB1 y DB2
2 Vistas: DB1.Vst1 y DB2.Vst1 (ambas tiran de unas tablas identicas pero
con
diferente registros)
2 campos: DB1.Vst1.Codigo y DB2.Vst1.Codigo

Necesito saber, que codigos son iguales en las 2 vistas e incluirlo en
una
tabla y saber que codigos estan en la DB1.Vst1 que no estan en la vista
DB2.Vst1 y viceversa y crear 2 tablas con ellos.

Es viable?
Gracias.


Respuesta Responder a este mensaje
#4 Alejandro Mesa
19/11/2008 - 14:28 | Informe spam
Jose TH,

puntualizar que Except e Intercept, son de la versión 2008.



En realidad fueron introducidas en la version 2005.

Si el OP no especifica la version con la que trabaja, casi siempre supongo
que sea 2005. En esta version se introdujeron nuevas funcionalidades que
hacen el trabajo menos complicado.


AMB


"Jose TH >>" wrote:

Aunque le diste las dos opciones puntualizar que Except e Intercept, son de
la versión 2008.
Son dos simples operaciones de conjuntos y muy prácticas para lo que
solicita el OP.


"Alejandro Mesa" escribió en el
mensaje news:
> Trata:
>
>> > Necesito saber, que codigos son iguales en las 2 vistas
>
> select distinct a.codigo
> into dbo.cod_iguales
> from DB1.Vst1 as a inner join DB2.Vst1 as b
> on a.codigo = b.codigo
>
>
> select codigo
> into dbo.cod_iguales
> from (
> select codigo from DB1.Vst1
> intersect
> select codigo from DB2.Vst1
> ) as t
>
>> saber que codigos estan en la DB1.Vst1 que no estan en la vista
>> DB2.Vst1 y viceversa y crear 2 tablas con ellos.
>
> select distinct codigo
> into dbo.cod_en_db1_not_en_db2
> from DB1.Vst1 as a
> where not exists (
> select *
> from DB2.Vst1 as b
> where b.codigo = a.codigo
> )
>
>
> select codigo
> into dbo.cod_en_db1_not_en_db2
> from
> (
> select codigo from DB1.Vst1
> except
> select codigo from DB2.Vst1
> ) as t
>
>
> select distinct codigo
> into dbo.cod_en_db2_not_en_db1
> from DB2.Vst1 as a
> where not exists (
> select *
> from DB1.Vst1 as b
> where b.codigo = a.codigo
> )
>
>
> select codigo
> into dbo.cod_en_db2_not_en_db1
> from
> (
> select codigo from DB2.Vst1
> except
> select codigo from DB1.Vst1
> ) as t
>
>
>
> AMB
>
>
>
> "Emily" wrote:
>
>> Necesito vuestra ayuda
>>
>> 2DBs: DB1 y DB2
>> 2 Vistas: DB1.Vst1 y DB2.Vst1 (ambas tiran de unas tablas identicas pero
>> con
>> diferente registros)
>> 2 campos: DB1.Vst1.Codigo y DB2.Vst1.Codigo
>>
>> Necesito saber, que codigos son iguales en las 2 vistas e incluirlo en
>> una
>> tabla y saber que codigos estan en la DB1.Vst1 que no estan en la vista
>> DB2.Vst1 y viceversa y crear 2 tablas con ellos.
>>
>> Es viable?
>> Gracias.
>>
>>



Respuesta Responder a este mensaje
#5 Jose TH
20/11/2008 - 04:31 | Informe spam

En realidad fueron introducidas en la version 2005.




Ok, gracias por la aclaración.

Si el OP no especifica la version con la que trabaja, casi siempre supongo
que sea 2005. En esta version se introdujeron nuevas funcionalidades que
hacen el trabajo menos complicado.



Así es.


Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida