2012-05-26 3 views
1

다음 두 표를 고려하십시오. 필드 이름을 굵게 표시하십시오. 필드 이름 아래, 필드 내용 :SQL INNER JOIN ON LIKE

TABLEA :
그룹
작전 측 서쪽
작전 북쪽 지역
특공대 알파
백업
관리자

TableB의 :
그룹
ops
commando

내가 원하는 것은 쿼리와 같은 내부 조인을 만드는 것입니다.

SELECT tableA.group 
FROM tableA 
INNER JOIN tableB 
ON tableA.group LIKE "'tableB.groups'%" 
GROUP BY tableA.group 

예상 결과를 가지고 다음과 같습니다 :

작전 측이 서쪽
작전 북쪽 지역
특공대 알파

희망 사람이 할 수있는 나는 phpMyAdmin을에 다음과 같은 있지만 작동하지 않는 시도 도움. 미리 감사드립니다. 건배. 마크.

+0

테이블간에 '비교'를 시도합니다. 즉, 그룹 A 이름이 그룹 B 이름을 시작하면 조건이 성공합니다. 필드가 아닌 고정 된 문자열에 대해 'LIKE'을 수행 할 때 접근 방식이 작동하지 않습니다.이 경우 SQL 함수가 필요합니다. 나는 string 연산 섹션에서 MySQL 매뉴얼을 점검 할 것이다. – halfer

답변

3
SELECT DISTINCT tableA.group 
FROM tableB 
INNER JOIN 
     tableA 
ON  tableA.group LIKE CONCAT(tableB.groups, '%') 
+0

안녕하세요 Quassnoi. 이걸 시험해 보시오. – Marc

+0

매력처럼 작동합니다. 고마워요 :) – Marc