OK entonces creo que deberias ir por el lado de crear la columna 16 con el CRC 
de las otras 15

Saludos
PabloC
  ----- Original Message ----- 
  From: Consultas 
  To: gufa List Member 
  Sent: Thursday, January 04, 2007 5:42 PM
  Subject: [gufa] Re: [gufa] Re: [gufa] Re: Re: [gufa] Re: Método para comparar 
filas


  Hola Pablo. Los numeros ya estan generados y guardados en la tabla. No puedo 
volver a generarlos. Solo tengo que ponerme a depurar la tabla.
  Saludos.

  Emiliano Saldivia
  [EMAIL PROTECTED]
    ----- Original Message ----- 
    From: PabloC 
    To: gufa List Member 
    Sent: Jueves 4 de Enero de 2007 16:50
    Subject: [gufa] Re: [gufa] Re: Re: [gufa] Re: Método para comparar filas


    Estaba por proponer exactamente lo mismo
    Porque no controlas al generar los numeros

    Saludos
    PabloC
      ----- Original Message ----- 
      From: Mauricio Pistiner 
      To: gufa List Member 
      Sent: Thursday, January 04, 2007 4:06 PM
      Subject: [gufa] Re: Re: [gufa] Re: Método para comparar filas


      Que tal:

      SI la generación de los 100000 numeros es al crear la tabla..

      Generando las filas en cursor o tabla local o vista remota reflejada en 
cursor local e indexando :

      ****************************
      local aNums(15)

      select numeros
      index on str(num01)+str(num02)+...+str(num15) tag nums

      for i=1 to 100000
      wait nowait windows str(i)
       * generar 15 numeros al azar...
        for j=1 to 15
         nNum(j) = generarnum()
       endfor
       * ordenar la secuencia...
       ascan(aNums)
       cExpr = ''
      * armar expresion para buscar... 
       for j=1 to 15
         cExpr=cExpr+str(aNums(j))
       endfor
      seek cExpr
      if found()
      * secuencia existente...
      * reintentar...
      else
      INSERT INTO numeros values (aNums(1),aNums(2),..,aNums(15))
      endif
      endfor
      ********************************
       
      saludos
      Mauricio

      El día 4/01/07, Consultas <[EMAIL PROTECTED]> escribió: 
        Gracias David y Feliz Año.
        Lo que pasa es que yo no uso SQL Server, y es una tabla dbf de vfox que 
contiene 100.000 filas de 15 numeros cada uno, para realizar un sorteo.
        Lo que tengo que hacer es depurar aquellas filas que contengan los 
mismos numeros, para borrarlas y asi descartarlas, para evitar los duplicados.
        Yo lo que estoy probando y buscando es una manera de hacerlo rapido y 
eficientemente, por eso hacia referencia a que si convenia revisar cada fila 
haciendo un select-sql contra las demas filas para ver si existen filas 
iguales, o si conviene usar un scan...endscan. 
        Espero que se entienda.
        Saludos y Felicidades...

        Emiliano Saldivia
        Armstrong - Santa Fe
        [EMAIL PROTECTED] 
          ----- Original Message ----- 
          From: David Brunstein 
          To: gufa List Member 
          Sent: Jueves 4 de Enero de 2007 15:18
          Subject: [gufa] Re: Método para comparar filas

           
          Hola Emiliano,

          Que tal?

          La respuesta depende como es que tenes que hacer la comparacion, que 
son esos 15 numeros? Por que no tenes una sola columna con los 15 numeros?

          Lo mejor para este tipo de cosas es mandarle el laburo al motor de 
base de datos. 

          Me parece que 100.000 filas no deberia ser mucho laburo para un motor 
de base de datos, como el SQL Sever; de todas formas, trataria las excepciones. 
Me refiero a que si lo normal es que "alguno" de los 15 se repita, haria el 
WHERE por equal; si lo normal es que la "mayoria" de los 15 se repita, haria el 
WHERE por not equal. 

          Si metes los 15 numeros en una tabla (con 15 filas, en vez de 15 
columnas) podrias hacer un SELECT con la clausula NOT IN SELECT o la clausula 
IN SELECT (de nuevo lo que sea la excepcion).

          Ahora, bien, si vos lo que tenes que hacer es eliminar los 
duplicados, entonces directamente te conviene trabajar un SELECT hasta que te 
devuelve SOLO las filas que tenes que borrar, y despues reemplazas la palabra 
SELECT por DELETE. Con una sola sentencia SQL resolverias el asunto. 

          My 2 micro-cents.
          Feliz 2007,
          Davo.

           
          On 1/4/07, Consultas <[EMAIL PROTECTED] > wrote: 
            Hola a todos. Estoy haciendo un programa en vfox para generar 15 
numeros al azar, que los guardo en una tabla con 15 columnas.
            Lo que necesito es buscar la forma de comparar estos grupos de 15 
numeros, con otras filas, para evitar que existan grupos repetidos.
            En total son 100.000 filas, y necesito saber de que manera puedo 
hacer mas rapida la comparacion y depuracion. O sea, si tengo que usar alguna 
sentencia Select SQL o armar un bloque de codigo con SCAN...ENDSCAN e ir 
verificando las coincidencias. 
            Saludos.

            Emiliano Saldivia
            Armstrong (Sta. Fe)
            [EMAIL PROTECTED] 



--------------------------------------------------------------

                  avast! Antivirus: Mensaje saliente limpio. 

                  Base de datos de Virus (VPS): 0701-0, 03/01/2007
                  Comprobado el: 04/01/2007 02:24:29 p.m.
                  avast! - copyright (c) 1988-2007 ALWIL Software.
                 

             



          -- 
          =======================
          David Brunstein

          Java/PB/VFP Developer
          Winnipeg, MB
          Canada

          Before I speak, I have something important to say.
          Antes de dar mi discurso, tengo algo importante que decir. 
          Antes de dar meu discurso, tenho algo importante para dizer.
          G.M. 




------------------------------------------------------------------


              avast! Antivirus: Mensaje saliente limpio. 

              Base de datos de Virus (VPS): 0701-0, 03/01/2007

              Comprobado el: 04/01/2007 03:37:07 p.m.
              avast! - copyright (c) 1988-2007 ALWIL Software. 


             

             

         

       


     

--------------------------------------------------------------------------

      avast! Antivirus: Mensaje entrante limpio. 

      Base de datos de Virus (VPS): 0701-0, 03/01/2007
      Comprobado el: 04/01/2007 05:34:37 p.m.
      avast! - copyright (c) 1988-2007 ALWIL Software.
       

     



----------------------------------------------------------------------------

    avast! Antivirus: Mensaje saliente limpio. 

    Base de datos de Virus (VPS): 0701-0, 03/01/2007
    Comprobado el: 04/01/2007 05:42:32 p.m.
    avast! - copyright (c) 1988-2007 ALWIL Software.
     


  __________ Información de NOD32, revisión 1956 (20070104) __________

  Este mensaje ha sido analizado con NOD32 antivirus system
  http://www.nod32.com

Responder a