반응형
Java 패키지 이름이있는 테이블이 있습니다.
|id|pkg|
|1 |some.long.package.path|
|2 |com.admob.bla|
그리고 알려진 광고 프레임 워크의 부분 패키지 이름을 포함하는 테이블.
|id|path_fragment|
|1 |.admob |
package 값에 ad frameworks.path 조각이 포함 된 패키지를 검색하려면 어떻게해야합니까?
부분 문자열 검사를 찾을 수 없습니다. 내가 찾은 것은 사람들이 like를 사용하여 문자열 리터럴과 비교하지만 열을 비교하지는 않습니다.
참고 : MySQL을 사용하고 있습니다.
해결 방법
좋아요와 내부 조인을 할 수 있다고 생각합니다.
select p.id, p.pkg
from package p
inner join ad_frameworks adf on p.pkg like CONCAT('%', adf.path_fragment, '%')
--group by p.id, p.pkg
또는 당신이 지적했듯이
select *
from package p
inner join ad_frameworks adf on LOCATE(adf.fragment, p.pkg) > 0
또는
select *
from package p
inner join ad_frameworks adf on INSTR( p.pkg,adf.fragment) > 0
또는
select *
from package p
inner join ad_frameworks adf on POSITION(adf.fragment IN p.pkg) > 0
또는
select *
from package p
inner join ad_frameworks adf on REPLACE(p.pkg, adf.fragemnt, '') <> p.pkg
글쎄, 당신은 선택의 여지가 거의 없습니다;)
참조 페이지 https://stackoverflow.com/questions/12424737
반응형
'MySql' 카테고리의 다른 글
MySQL : 데이터 infile로드 (0) | 2021.01.29 |
---|---|
MySQL 결과 PHP-배열 또는 객체? (0) | 2021.01.28 |
MySQL 대용량 SQL 파일을 가져올 때 MySQL 서버가 사라졌습니다. (0) | 2021.01.28 |
MySQL 하나의 열 mysql에 여러 값을 삽입합니까? (0) | 2021.01.28 |
MySQL-한 행 선택-선택한 행에 대해 다음 행과 이전 행 선택 (0) | 2021.01.28 |
댓글