Q&A

  • 두개의 테이블을 비교하여 같은것을 삭제하고자 할때.
안녕하세요...

질문을 드리게 됐네요...



2개의 테이블을 비교하여 즉 A 테이블과 B 테이블이 있다고 하면...

두개는 다른 테이블인데요...

A 테이블의 NUM 필드와

B 테이블의 NUM2 필드를 비교하여 같은 필드내에 같은 내용이 있을경우,..

A 테이블의 해당 레코드를 지우고 실어요...



즉 서로 다른 레코드만 남게 하고 싶군요...

ttable 를 사용하여 비교 하여 봤지만... A xpdlqmfdl 207메가고 60만건이 넘는 자료기 때문에 도저히 시간이 많이 걸리는 군요...



SQL 을 이용하면 빠를것 같은데....

둘다 DBF 타입입니다...

도와 주십시요...



2  COMMENTS
  • Profile
    신호성 1999.04.27 03:49
    류 wrote:

    > 안녕하세요...

    > 질문을 드리게 됐네요...

    >

    > 2개의 테이블을 비교하여 즉 A 테이블과 B 테이블이 있다고 하면...

    > 두개는 다른 테이블인데요...

    > A 테이블의 NUM 필드와

    > B 테이블의 NUM2 필드를 비교하여 같은 필드내에 같은 내용이 있을경우,..

    > A 테이블의 해당 레코드를 지우고 실어요...

    >

    > 즉 서로 다른 레코드만 남게 하고 싶군요...

    > ttable 를 사용하여 비교 하여 봤지만... A xpdlqmfdl 207메가고 60만건이 넘는 자료기 때문에 도저히 시간이 많이 걸리는 군요...

    >

    > SQL 을 이용하면 빠를것 같은데....

    > 둘다 DBF 타입입니다...

    > 도와 주십시요...

    >



    안녕하세요?

    신호성 입니다.

    아래내용으로 실행해 보세요



    DELETE FROM A

    WHERE NUM IN (SELECT DISTINCT NUM2 FROM B)



















  • Profile
    구창민 1999.04.26 22:20
    류 wrote:

    > 안녕하세요...

    > 질문을 드리게 됐네요...

    >

    > 2개의 테이블을 비교하여 즉 A 테이블과 B 테이블이 있다고 하면...

    > 두개는 다른 테이블인데요...

    > A 테이블의 NUM 필드와

    > B 테이블의 NUM2 필드를 비교하여 같은 필드내에 같은 내용이 있을경우,..

    > A 테이블의 해당 레코드를 지우고 실어요...

    >

    > 즉 서로 다른 레코드만 남게 하고 싶군요...

    > ttable 를 사용하여 비교 하여 봤지만... A xpdlqmfdl 207메가고 60만건이 넘는 자료기 때문에 도저히 시간이 많이 걸리는 군요...

    >

    > SQL 을 이용하면 빠를것 같은데....

    > 둘다 DBF 타입입니다...

    > 도와 주십시요...

    >



    류님 안녕하세요? 구창민입니다.

    아래와 같은 방법이 어떨까요?



    먼저 두 테이블을 Query1, Query2에 붙였다 가정하구,

    의사코드를 적어보겠습니다.



    Query1.Open; //비교대상필드를 먼저 오픈하구요,



    while( not Query1.EOF ) //비교가 될 테이블의 끝까지 루프를 돌며...

    begin

    Query2.Close

    Query2..SQL.Clear;

    Query2..Sql.Add('Delete From 테이블명 Where Name =:Name');

    Query2..ParamByName('Name').AsString := Query1.FieldByName(특정필드);

    Query2..ExecSQL;

    Query1.Next; //다음 비교대상을 위해 레코드 이동

    end;

    음..말씀하신 작업을 제가 지식이 부족해 한방에 쿼리를

    날리긴 힘들거 같구요..

    그리고, 60만건 정도의 데이타라면 매우빠른 속도를 낼수 있는

    쿼리는 아마 존재하지 않을거 같네요.

    위처럼 작성한 의사코드와 같은 방법으로 하면 되지 않을까 싶습니다.

    직접 테스트 해보진 못했습니다.

    그럼.. 즐거운 코딩되시길..

    • 1999.04.26 21:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신호성
      1999.04.27 03:49
      류 wrote: > 안녕하세요... > 질문을 드리게 됐네요... > > 2개의 테이블을 비교하여 즉 A 테이블과 B...
    • 구창민
      1999.04.26 22:20
      류 wrote: > 안녕하세요... > 질문을 드리게 됐네요... > > 2개의 테이블을 비교하여 즉 A 테이블과 B...
    • 김서영
    • 1999.07.07 17:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.07.08 03:56
      음...... 1번은 쿼리에 SQL을 넣고 조건을 파라메터로 처리 하셨고 2번은 전체 SQL을 쌔려 넣으셨군요....
    • 김서영
      1999.07.08 20:42
      "성능을 향상시키려면 디비와 어플리케이션과의 메세지교환" db와 프로그램의 메세지 교환이 프로그램...
    • 신상철
    • 1999.07.07 17:42
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박홍석
      1999.04.24 20:25
      안녕하세요. 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. 여러가지로 해보았는데 Typemismat...
    • 공병모
      1999.07.08 01:11
      신상철 께서 말씀하시기를... > 대부분 FindWindow로 실행중인지 아닌지를 판단하는 것 같습니다. > 그러...
    • 강두헌
      1999.04.27 22:14
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 신인재
      1999.04.26 21:03
      박홍석 wrote: > 안녕하세요. > > 날짜형 필드를 가지고 쿼리하는 방법을 알고 싶습니다. > 여러가지...
    • 김승열
    • 1999.04.26 09:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.26 20:59
      음냐...등록되지 않은 라이브러리라는 에러는 아마도 Type Library에 등록이 잘 안된듯 싶은데요.. 그 프...
    • 이강범
    • 1999.07.07 16:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.07.07 22:51
      실행시킨것의 핸들을 얻어와서 (FindWindow등등의 함수를 이용) SetParent를 이용하여 부모를 작은 윈도우...
    • 이강범
      1999.07.08 16:45
      이정욱 께서 말씀하시기를... > 실행시킨것의 핸들을 얻어와서 (FindWindow등등의 함수를 이용) SetParent...
    • 이은섭
    • 1999.04.26 06:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.26 19:35
      이은섭 wrote: > dbgrid에서 직접입력,수정이 발생하는데 필드가 12자리인 넘버필드가 > 있습니다. > da...
    • 이만준
    • 1999.07.07 09:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김상영
      1999.07.07 13:39
      이만준 께서 말씀하시기를... > > 안녕하세요.. > > 부팅해서 윈도우를 시작하면... > > LogOn 대...
    • 심주성
    • 1999.04.26 05:39
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이만준
      1999.07.07 09:51
      안녕하세요... 윈도우에는 여러개의 프로그램이 실행되는데.. 내가 만든 프로그램에서 실행되고 있...
    • 안치봉
      1999.04.26 19:30
      심주성 wrote: > > 안녕하세요. 완전프로그래밍 초짜입니다. > > delphi4.0을 해볼려구 함 깔아...
    • 심주성
      1999.04.28 09:40
      안치봉 wrote: > > 안녕하세요. > > 잘은 모르겠지만 델파이4가 일부 그래픽카드와 충돌한다는 설도 ...
    • 박진아
    • 1999.04.26 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.26 19:26
      박진아 wrote: > Form1 에서 입력을 받은 후에 > Form2를 출력폼으로 호출하는 프로그램인데요, > Canno...
    • 문창완
    • 1999.07.07 06:20
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.07.07 08:45
      문창완 께서 말씀하시기를... > 여기에 이런질문해도 되나여... > 암튼 무례를 무릅쓰고... > 정말 급한...
    • 박성훈
      1999.07.08 02:19
      안치봉 께서 말씀하시기를... > 문창완 께서 말씀하시기를... > > 여기에 이런질문해도 되나여... > > ...
    • 박성훈
      1999.07.08 02:23
      두번째의 방법에서 점퍼를 바꾼후 부팅하시고 CMOS SETUP에서 패스워드를 날리신후 재부팅하셔야 합니다.
    • 박진아
    • 1999.04.26 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.26 19:26
      박진아 wrote: > Form1 에서 입력을 받은 후에 > Form2를 출력폼으로 호출하는 프로그램인데요, > Canno...
    • 홍길동
      1999.07.07 10:35
      정연섭 께서 말씀하시기를... > 델파이 도사님의 좋은 방법가르쳐주세요.. > > StatusBar의 특정 Panel...
    • 홍길동
      1999.07.08 02:10
      홍길동 께서 말씀하시기를... > 정연섭 께서 말씀하시기를... > > 델파이 도사님의 좋은 방법가르쳐주세...
    • 한승현
    • 1999.04.26 17:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.26 21:49
      첫번째 컴포넌트를 인스톨 한 후 dpk 파일을 저장 하지 않고 종료를 하신것 같네요. 컴포넌트 설치 후 델파...
    • 김승열
    • 1999.04.26 09:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.04.26 20:59
      음냐...등록되지 않은 라이브러리라는 에러는 아마도 Type Library에 등록이 잘 안된듯 싶은데요.. 그 프...
    • 이은섭
    • 1999.04.26 06:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.26 19:35
      이은섭 wrote: > dbgrid에서 직접입력,수정이 발생하는데 필드가 12자리인 넘버필드가 > 있습니다. > da...
    • 느낌표
    • 1999.07.07 05:51
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 심주성
      1999.04.26 05:39
      안녕하세요. 완전프로그래밍 초짜입니다. delphi4.0을 해볼려구 함 깔아봤습니다. 군데.. ...
    • 안치봉
      1999.04.26 19:30
      심주성 wrote: > > 안녕하세요. 완전프로그래밍 초짜입니다. > > delphi4.0을 해볼려구 함 깔아...
    • 심주성
      1999.04.28 09:40
      안치봉 wrote: > > 안녕하세요. > > 잘은 모르겠지만 델파이4가 일부 그래픽카드와 충돌한다는 설도 ...
    • 강지영
    • 1999.04.26 01:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.26 01:47
      DBGrid의 Align이 문제인것 같네요. alClient나 다른 것이 설정되어 있으면 당연히 위치가 바뀌어 버립니...