database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41551 게시물 읽기
No. 41551
쿼리 질문 드립니다.
작성자
왕초보
작성일
2018-04-16 17:29
조회수
5,528

많은 도움 받고 있는 초보입니다.

아래 내용 너무 도움이 절실해서.... 문의 드립니다.

부디 바쁘시겠지만, 부탁 드립니다.

 

 

table A

 

COL1

------

KK, EE

GG,BB

CC,VV

BB,GG

 

TABLE B

 

COL1

----

KK

BB

VV

 

이 두 테이블을 가지고 LIKE 조건으로 TABLE A의 데이터를 SEARCH 해야 합니다.

즉 SELECT * FROM TABLEA WHERE COL1 LIKE '% %' 를 해야 하는데.... TABLE B의 COL1 을 모두 LIKE 조건으로

넣어야 합니다.

데이터를 이렇게 찾아야 하는데..LIKE 는 하나의 데이터만 조건으로 사용 할 수 있어 IN 처럼 SELECT 문으로 서브쿼리 사용도

어렵네요...ㅜㅜ

혹 좋은 방법 있을까요?

제발 부탁 드려요...

이 글에 대한 댓글이 총 4건 있습니다.

SELECT *

FROM tableB
INNER JOIN tableA
ON tableA.col1 LIKE '%' || tableB.col1 || '%'
;
우욱님이 2018-04-16 17:40에 작성한 댓글입니다. Edit

이런 방법이 있었군요...

 

우욱님.. 정말 진심으로 감사드립니다.

정말 많은 도움 받았습니다.

즐거운 하루 보내 세요...

왕초보님이 2018-04-17 09:00에 작성한 댓글입니다. Edit

어차피 조인하면 1건식 매치되어 비교되니 LIKE 사용 가능하구요.
INSTR 을 사용하는 방법도 있습니다.
코드값이 2자리 고정이라면 단순 LIKE 나 INSTR 로 해결되지만
가변자리수를 가진 데이터라면? 단순하게 처리하면 안됩니다.
예를 들면 KK 를 찾는데 KKK 나 AKKB 등이 잘못 검색될 수 있습니다.


-- 고정 길이 검색인 경우 --
SELECT *
  FROM tableB b
 INNER JOIN tableA a
    ON a.col1 LIKE '%' || b.col1 || '%'
--  ON INSTR(a.col1, b.col1) > 0
;


-- 가변 길이 검색인 경우 --
SELECT *
  FROM tableB b
 INNER JOIN tableA a
    ON ','||a.col1||',' LIKE '%,'||b.col1||',%'
--  ON INSTR(','||a.col1||',', ','||b.col1||',') > 0
;

마농(manon94)님이 2018-04-17 10:33에 작성한 댓글입니다.

오.. 마농님...

 

이 부분 간과 했어요... 가변 길이의 처리는 데이터 조회 결과도 다르네요.

정말 소중한 정보 공유 감사 드립니다.

완전 도움 되었습니다.

오늘 하루 즐겁게 보내세요.. 다시 한번 더 소중한 정보 공유 감사 드립니다.

왕초보님이 2018-04-17 10:57에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41556쿼리 질문 드립니다. [1]
chokm
2018-04-24
5676
41553대량 update시 실패 [2]
MOON
2018-04-18
5794
41552쿼리 질문드립니다. [2]
이승용
2018-04-17
5670
41551쿼리 질문 드립니다. [4]
왕초보
2018-04-16
5528
41549다수의 FK포함된 테이블생성 [1]
Newbie
2018-04-14
5354
41546기준일자별 쿼리 문의드립니다. [2]
량디
2018-04-06
5485
41545파라미터 분리하기 [2]
궁금
2018-04-04
5796
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다