FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Select anidado
Hola ¿cómo andan? Espero que todo bien.
Estoy trabajando en el desarrollo de un software que busca genes en genomas de distintos organismos. Tengo dos tablas, una que se llama GenesOriginal, donde tengo almacenados los genes conocidos para el organismo que estoy estudiando, y otra que se llama GenesSoft donde tengo almacenados los genes que encuentra mi algoritmo. Una vez que tengo cargadas las dos tablas, lo que quiero es hacer una comparación entre estas para saber que genes encontró mi algoritmo y que pertencen al organismo, cuales no, etc. Para esto uso un select anidado. La cuestión es que el resultado que obtengo no es el mismo si trabajo sobre una tabla o sobre otra, y a mi me parece que debería obtener lo mismo. La sentencia que utilizo para trabajar sobre la tabla GenesOriginales es la siguiente: 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)) donde Encontrado es una variable que inicialmente está seteada a False y cuyo valor cambia si algun gen de GenesSoft tiene el mismo inicio (InicioGen) o el mismo fin (FinGen) que un gen de la tabla GenesOriginal. Después de esto ejecuto: Select count(pkGenesOriginal) from GenesOriginal where Encontrado = True, y obtengo, por ejemplo 467. Ahora, la sentencia que utilizo para trabajar sobre la tabla GenesSoft es la siguiente: 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)) Después de esto ejecuto: Select count(Soft) from GenesSoft where Encontrado = True, y obtengo, en este caso 462. ¿porqué resultados diferentes? ¿no debería obtener el mismo número? Desde ya muchas gracias, saludos a todos Erika |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Función en Procedimientos Almacenados | Jalisia | Firebird e Interbase | 1 | 04-11-2005 15:13:16 |
5 select de 5 tablas diferentes en un select solo | sakuragi | SQL | 6 | 15-06-2005 18:57:06 |
Select anidado: Select from (select....) | Malon | SQL | 2 | 14-10-2004 14:01:24 |
Select anidado ( Select from select ) | Malon | Firebird e Interbase | 1 | 05-10-2004 04:14:38 |
Select anidados | Ignacio | SQL | 5 | 23-02-2004 16:33:30 |
|