Jump to content

Markleber

Members
  • Content count

    6
  • Joined

  • Last visited

Community Reputation

0 Comum

About Markleber

  • Birthday 11/23/1967

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    R. Helena Aparecida Secol, 160 - Apto. 143 B
  • Interesses
    Visual FoxPro

Contato

  1. Markleber

    Comparar duas tabelas com registros...

    Comando acima, resolvido.
  2. Boa tarde à todos... Sou totalmente leigo em SQL e estou precisando de uma ajuda de vocês, aliás, um excelente ajuda. Tenho duas tabelas abaixo: Tabela linaus07 d01 d02 d03 d04 d05 d06 d07 10 11 12 13 14 15 16 10 11 12 13 14 16 17 10 11 12 13 14 16 22 Tabela linrep07 d01 d02 d03 d04 d05 d06 d07 d08 d09 d10 d11 d12 d13 d14 d15 1 2 3 4 5 6 7 10 11 12 13 14 16 17 22 1 2 3 4 5 6 7 8 10 11 12 13 14 16 17 1 2 3 4 5 6 7 9 10 11 12 13 14 16 22 Então, o que preciso...??? Pego o 1 registro da tabela linaus07 contendo 7 campos e confronto com todos os registros da tabela linrep07 contendo 15 campos, reparem que o primeiro registro da tabela linaus07, confrontando com a tabela linrep07, em nenhum momento continha 7 iguais nos registros, então, não preciso fazer nada, porém, repare agora, que o segundo registro da tabela linaus07, confrontando com a tabela linrep07, encontramos 7 campos exatamente nos 15 campos da outra tabela, então, pego o registro da tabela linrep07 e gravo em outro banco de dados (um novo), o registro que contem esses 15 campos que tinham os 7 campos da tabela linaus07. o que tem que ser respeitado... Cada registro da tabela linaus07 contendo 7 campos, irá passar em todos os registros da tabela linrep07 contendo 15 campos e irá colocar num novo banco de dados, todos os registros que da tabela linrep07 tiverem exatamente os 7 campos da tabela linaus07 e ao final, esse novo banco, terá com certeza muito registros, mas preciso salvá-los em um arquivo .txt com o separador "-" entre os campos... Espero ter sido claro... Obrigado MARCELO SAMPAIO
  3. Boa noite Pessoal... Preciso de uma ajuda com duas questões: 1a. Baseando-se na rotina abaixo: SELECT linresul DELETE ALL PACK APPEND FROM linresul.txt DELIMITED WITH CHARACTER "-" GO vsor-1 SCATTER FIELDS linresul.d01,linresul.d02,linresul.d03,linresul.d04,linresul.d05,linresul.d06,linresul.d07,linresul.d08,linresul.d09,; linresul.d10,linresul.d11,linresul.d12,linresul.d13,linresul.d14,linresul.d15 TO arr01 SELECT lifiltro DELETE ALL PACK APPEND FROM linfingr.txt DELIMITED WITH CHARACTER "-" replace ALL lifiltro.rep WITH 0 SELECT libackup DELETE ALL PACK SELECT lifiltro SET ORDER TO lifiltro COUNT ALL TO vban GO TOP DO WHILE !EOF() WAIT WINDOW "AGUARDE !!! Separando LINHAS CONFIGURADAS do arquivo em GRUPOS e suas REPETÊNCIAS... Registro "+ALLTRIM(STR(vreg))+" de "+ALLTRIM(STR(vban)) NOWAIT SCATTER FIELDS lifiltro.d01,lifiltro.d02,lifiltro.d03,lifiltro.d04,lifiltro.d05,lifiltro.d06,lifiltro.d07,lifiltro.d08,lifiltro.d09,; lifiltro.d10,lifiltro.d11,lifiltro.d12,lifiltro.d13,lifiltro.d14,lifiltro.d15 TO arr02 FOR i = 1 TO 15 var1 = arr01 FOR j = 1 TO 15 var2 = arr02[j] IF var1 = var2 var3 = var3+1 ENDIF ENDFOR ENDFOR IF var3>0 replace lifiltro.rep WITH var3 ENDIF var1=0 var2=0 var3=0 IF !EOF() SKIP vreg=vreg+1 ELSE EXIT ENDIF ENDDO Reparem que tenho dois scatter's, ambos criando dois arrays, certo? Nessa rotina, o FOR conta entre os dois arrays, as quantidades iguais, porém, um por um elemento até completar 15 e isso num arquivo com mais de 1 milhão de registros, fica muito demorado. Pergunta: Existe como fazer a contagem dos elementos sem usar o FOR, contando o conjunto por exemplo: ARRAY01 terá os 15 elementos = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 ARRAY02 terá outros 15 elementos = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 16 Reparem que o FOR contaria os 15 elementos de cada array entre eles, encontrando 14 iguais entre os dois. Tem como contar os elementos dos arrays sem utilizar o FOR, pegaria todo o conjunto do array01 e acharia os iguais no array02? Com o FOR fica muito lento... 2a. Baseando-se que: ARRAY03 terá os 15 elementos = 01 02 03 07 08 10 05 06 09 04 11 12 13 14 15 Como fazer para que esse array fique ordenado como segue = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.