동일 필드 내에서의 like 검색 0 3 3,312

by 자동제어술탱크 [SQL Query] like [2013.09.21 07:51:57]


쉬울것 같은데 쉽지 않은 문제가 있네요

동일한 필드에 문자열 데이터가 있을 경우 
like 검색을 하려면 어떻게 해야될지 도무지 방법을 모르겠습니다.

예를 들어  A 테이블에

a_field    b_field
----------   ---------------
1111       홍길동
1112       홍길동1
1113       홍길순
1114       이기자
1115       김길동
;

이렇게 데이터가 들어가있다면 
홍길동은 2개 이상의 데이터가 들어가 있으므로 이런것만 뽑으려고 합니다.

결과 출력은 1111, 1112 둘중 아무거나 또는 모두 나와도 상관없습니다.

즉 요약하면 b_field 내에서 특정한 문자열이 포함되어 있는 row를 출력하는 문제 입니다.

감사합니다.


by 자동제어술탱크 [2013.09.22 16:26:12]
rownum 과 union all 로 해결했습니다.

무식하게 like를 row갯수대로 한다음에 union 하는 수밖에 없겠네요 

by 마농 [2013.09.23 08:07:39]
SELECT *
  FROM t a
     , t b
 WHERE b.b_field LIKE a.b_field||'%'
;

by 자동제어술탱크 [2013.09.23 21:32:19]
질문 내용이 제가 원하는 것을 정확히 설명을 못했었네요.

이와 같이 query하면 결국 a 테이블 전체의 값이 나오는데, 

이게 아니라 self join한 a테이블의 값에 like 검색된 전체가 1:N으로 rownum과 같이 출력되어야 하는 것이있습니다.

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