Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[6347] [답변] HHIKMS/ 파라독스 MINUS구문 다시 질문
hywroom [ ] 673 읽음    1999-06-30 08:56
안녕하세요.

키필드가 여러개가 있는 경우 MINUS 구문은 아래 2가지 방법중 하나를
선택해서 하면 될 것 같군요.

첫번째 : 키필드들의 필드유형이 모두 같은 경우

SELECT * FROM "tablea.DB" A
WHERE NOT
(A.Key01+A.Key02 IN (SELECT DISTINCT B.key01+B.key02 FROM "Tableb.DB" B))

만약 Key01필드가 문자형이고 Key02필드는 숫자형이면 Type Mismatch에러가
나더군요. 형변환을 할 수 있으면(DATE형은 문자열로 바꿀수 있음) 변환해서
처리하면 될 것 같습니다.

두번째 : 키필드들의 필드유형이 다른 경우(같은 경우에도...)

SELECT * FROM "tablea.DB" A
WHERE NOT
(
(A.Key01 IN (SELECT DISTINCT B.key01 FROM "Tableb.DB" B)) and
(A.Key02 IN (SELECT DISTINCT B.key02 FROM "Tableb.DB" B))
)


두번째 방법은 좀 무식해 보이는 방법인데, 필드유형에 관계없이 잘 동작하더군요.
속도는 좀 걸릴 것 같네요...

그럼 좋은 하루 되세요.


+ -

관련 글 리스트
6347 [답변] HHIKMS/ 파라독스 MINUS구문 다시 질문 hywroom 673 1999/06/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.