2016-06-07 3 views
3

트리 테이블 - table1, table2table3이 있습니다. 이들의 구조는 다음과 같은 것입니다 :여러 테이블에서 검색

table1 = id | data 
      1 | x 
      2 | y 

table2 = id | table1_id | table3_id | data 
      1 | 1   | 1   | a 
      2 | 2   | 2   | b 
      3 | 1   | 3   | c 
      4 | 2   | 3   | d 

table3 = id | data 
      1 | e 
      2 | f 
      3 | g 

을 그리고 지금은 (LIKE 사용) table3.data으로 검색 및 관련 표 데이터를 얻을 싶어요. SQL은 어떻게 생겼을 까? 예를 들어

는 :

내 웹 응용 프로그램에서

나는 "g"를 입력 - 그래서 내가 table3 볼 것이다 반환 ID = 3, table2 거기 table3_id = 3과 2 행은 내가 얻고 싶은 결과 당신은 도전적으로 LIKE를 사용할 필요가 없습니다 table1.id = table2.table1_id 그래서

id | table3.data 
1 | g 
2 | g 
+0

편집 질문을. –

+0

왜 LIKE를 사용하고 싶습니까? – jarlh

+0

Sory for the LIKE - 아마도 혼란 스럽습니다. '데이터'열은 문자열을 포함하고 있으며 모든 하위 문자열을 검색하려고합니다. – sukovanej

답변

2

음을 가진 모든 행의 모음입니다, 간단한 JOIN 작업을 할 필요가, LIKE 부분적으로 문자열 비교에 사용되는 ->'Full string' LIKE '%Fu%'.

이 시도 : 당신이 무엇을 달성하고자하는의 예입니다

SELECT t1.id as t1_id,t3.data as t3_data 
FROM table3 t3 
INNER JOIN table2 t2 
ON(t3.id = t2.table3_id) 
INNER JOIN table1 t1 
ON(t2.table1_id = t1.id) 
+0

'table1'에서 SELECT로 할 수 있습니까? – sukovanej

+0

그것은 table1에서 선택합니다, 나는 질문을 이해하지 못합니다. – sagi

+0

당신을 올바르게 이해했다면 업데이트 된 쿼리를 시도하십시오 @sukovanej – sagi

관련 문제