Ver Mensaje Individual
  #2  
Antiguo 02-02-2006
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 20
Ivanzinho Va por buen camino
Las dos consulta serían iguales solo en el caso de que los campos FinGen e InicioGen sean únicos. Si se puede dar la casualidad de que dos registros puedan tener el mismo FinGen o el mismo InicioGen las consultas no tendrían porque dar el mismo resultado.

Por ejemplo si tienes las siguiente tablas

GenesOriginal --> Registros
GEN FINGEN INICIOGEN
1 AA BB
2 AC DF
3 AF BB

GenesSoft --> Registros
GEN TINGEN INICIOGEN
1 AA BB

En este caso la consulta
Código SQL [-]
Update GenesOriginal
Set Encontrado = True
where pkGenesOriginal in (Select pkGenesOriginal from GenesOriginal
where InicioGen in (Select InicioGen from GenesSoft)
or FinGen in (Select FinGen from GenesSoft))
Modificaria dos registros, por lo que el resultado de
Código SQL [-]
Select count(pkGenesOriginal) from GenesOriginal where Encontrado = True
Devolvería 2

Sim embargo la consulta
Código SQL [-]
Update GenesSoft
Set Encontrado = True
where pkGenesSoft in (Select pkGenesSoft from GenesSoft
where InicioGen in (Select InicioGen from GenesOriginal)
or FinGen in (Select FinGen from GenesOriginal))
Modificaría un solo registro, por lo que al lanzar la consulta
Código SQL [-]
Select count(Soft) from GenesSoft where Encontrado = True
Obtendrías como resultado 1.

Espero haberme explicado y que te sirva de ayuda.

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita