테이블 비교 0 8 1,179

by 그루비 [ALTIBASE] 알티베이스 테이블비교 [2018.09.01 23:57:47]


지금 테이블 비교하는 쿼리를 찾고 있습니다.

 

하고자 하는것이 무엇이냐면

A테이블 B테이블이 있습니다. 2개의 테이블은 구조는 비슷합니다. 

1개의 테이블은 연동 테이블, 1개의 게시판은 히스토리 용으로 수정차수, 수정날짜가 추가로 들어갑니다.

처음에는 minus 를 통해서 하려고 했으나

해당 집합쿼리를 하니 어느쪽에서 다른건지 확인이 불가능해서 다른방법을 구하려고 합니다.

 

해당 문제에 대해서 아시는 분이 있으시면 조언 부탁드립니다.

by 우리집아찌 [2018.09.03 09:31:51]

EIXSTS 또는 NOT EXISTS 사용하세요.

 


by 그루비 [2018.09.03 09:34:19]

존재여부가 아니라 컬럼이 수정이 되어도 나와야 합니다.


by 우리집아찌 [2018.09.03 09:38:10]

정확히 말씀해주세요.

컬럼이 다르다는 말씀인지. 데이터가 틀린데 맞춰야한다는건지..


by 그루비 [2018.09.03 09:44:12]

1. A 테이블 과 B테이블은 수정차수, 수정날짜를 뺀 나머지 컬럼은 같습니다.

2. A테이블에서 삽입, 수정, 삭제가 일어나면 B테이블에 적용을 시켜야 합니다.


by 우리집아찌 [2018.09.03 10:00:22]

A 테이블 B테이블 어떤걸 비교하면 되나요?


by 그루비 [2018.09.03 10:34:00]

a와 b가 같은 모든 컬럼입니다.

대략 13개의 컬럼입니다.


by 우리집아찌 [2018.09.03 10:41:05]

원하시는 결과물을 모르겠습니다.

샘플데이터와 원하시는 결과를 올려주세요.

 


by 창조의날개 [2018.09.05 18:11:49]


SELECT 'TABLE_A' AS TABLE_NAME
            , AA.*
FROM (
      SELECT A.COL1, A.COL2...., A.COL12 FROM TABLE_A
      MINUS
      SELECT B.COL1, B.COL2...., B.COL12 FROM TABLE_B
) AA
UNION ALL
SELECT 'TABLE_B' AS TABLE_NAME
            , BB.*
FROM (
      SELECT B.COL1, B.COL2...., B.COL12 FROM TABLE_B
      MINUS
      SELECT A.COL1, A.COL2...., A.COL12 FROM TABLE_A
) BB
;


이런식으로 하면 어떨까요?

A테이블에서 B테이블 빼고

B테이블에서 A테이블을 뺀걸 보면 비교가 되지 않을까요?

 

데이터가 많다면 임시테이블을 만들어서 UNION ALL하지 않고 INSERT해서 보는 방법도 있겠네요.

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입