나는 오라클 11g의 다음과 같은 테이블이 : 당신이 두 테이블에서 볼 수 있듯이오라클이 개 테이블
이표 A
SITE_ID SITE_NAME VECTOR .........MANY OTHER FIELDS
BN9032U850 REY DEL MAR ENSENADA
BS2362U850 COSTA BAJA LA PAZ
BS2601U850 LA PAZ LA PAZ
BS2606U850 CONQUISTADORES LA PAZ
BN2679U850 COAST CAST TIJUANA
BN7116U850 PALACIO AZTECA TIJUANA
표 B
SITE_ID SITE_NAME VECTOR .........MANY OTHER FIELDS
BN9032 REY DEL MAR (null)
BN9033 BRISAS DEL MAR (null)
BS2601 CUMBRES DE LA PRESA (null)
BN9038G850 REAL DEL CASTILLO (null)
BS0014G850 SAN BRUNO (null)
많습니다을 다른 분야지만, 내가 쓴 글에만 관심이 있습니다 (SITE_ID, SITE_NAME, VECTOR).
내가 달성하고자하는 것은이 세 개의 열로 정보를 사용하여 뷰를 만드는 것입니다. 두 테이블에서 SITE_ID 필드에서 마음에
- 테이크는 첫 번째 6 자 :
는 그러나이 견해는이 조건을 충족해야한다.
예를 들어 표 A의 첫 번째 레코드에는이 SITE_ID "BN9032U850"이 있으므로 처음 6자를 부분 문자열로 만들면 결과 SITE_ID는 "BN9032"가됩니다. 그러나 당신이 볼 수 있듯이 표 B의 첫 번째 기록에는 동일한 SITE_ID가 있으므로 중복 기록이 있습니다.
VIEW 출력
:이 경우, 기록은 표 A의 하나가 아닌 난이 출력을 달성하려면 결국 표 B. 중 하나 여야 뷰에 추가 할
SITE_ID SITE_NAME VECTOR
BN9032 REY DEL MAR ENSENADA --->Table A
BS2362 COSTA BAJA LA PAZ --->Table A
BS2601 LA PAZ LA PAZ --->Table A
BS2606 CONQUISTADORES LA PAZ --->Table A
BN2679 COAST CAST TIJUANA --->Table A
BN7116 PALACIO AZTECA TIJUANA --->Table A
BN9033 BRISAS DEL MAR (null) --->Table B
BN9038 REAL DEL CASTILLO (null) --->Table B
BS0014 SAN BRUNO (null) --->Table B
저는이 문장으로 작업을하고 있지만 뭔가 잘못되었습니다.
SELECT SUBSTR(SITE_ID,1,6) SITE_ID,SITE_NAME, VECTOR FROM TABLE_A
WHERE(SUBSTR(SITE_ID,1,6)) NOT IN
(SELECT SUBSTR(SITE_ID,1,6) FROM TABLE_B)
UNION
SELECT SUBSTR(SITE_ID,1,6) SITE_ID,SITE_NAME, VECTOR FROM TABLE_B
WHERE(SUBSTR(SITE_ID,1,6)) NOT IN
(SELECT SUBSTR(SITE_ID,1,6) FROM TABLE_A);
시작하기 전에 몇 가지 예제 코드를 보내 주시면 감사하겠습니다.