안녕하세요? 테이블 A에 저장된 두 문자열 중에서, 테이블 B의 텍스트에서 동시에 나타나는 문자열 쌍의 갯수를 구하여, 이를 새로운 테이블 C에 insert하고자 합니다.
아래 문장과 같이 해보니까, TB_RESULT에 같은 키워드가 순서가 바뀌어 중복 저장되는 문제가 생기네요..
즉, TB_RESULT에 (AAA,BBB,2) 행과 (BBB,AAA,2) 행이 같이 저장되는데, 순서가 상관없으므로 둘 중 한가지만 저장되어야 합니다.
insert into TB_RESULT
select B.keyword, C.keyword, count(*)
from TB_TEXT A, TB_KWD B, TB_KWD C
where A.text like '%'||B.keyword||'%' and A.text like '%'||C.keyword||'%'
group by B.keyword, C.keyword ;
좋은 방법을 알려주시면 감사하겠습니다.
(TB_KWD) (TB_TEXT)
keyword text
----------------------- -------------------------------------------
AAA XXX AAA BBB YYYY
BBB AAABBB RRR
CCC EEE BBB CCCKKKKKKK
DDD
(TB_RESULT: 기대하는 결과 테이블)
keyword1 keyword2 빈도
------------------------------------------------------------------
AAA BBB 2 ( => BBB AAA 2 행은 저장되면 안됨)
BBB CCC 1 (=> CCC BBB 1 행은 저장되면 안됨)
|