본문 바로가기
MySql

MySQL의 두 테이블에서 데이터 선택

by 베이스 공부 2021. 1. 10.
반응형

내가 가지고있는 것 : 다음 구조 :

테이블 _ 제로
-> id (PRIMARY with auto increment)
-> 기타

table_1
-> id (foreign key to table zero id)
-> varchar(80) Example value: (aahellobbb)
-> one_field

table_2
-> id (foreign key to table zero id)
-> varchar(160) Example value: (aaececehellobbb)
-> other_field

원하는 사항 : varchar 필드에서 LIKE '% str %'와 일치하는 모든 항목을 포함하는 (id, varchar) 배열을 검색하고 가져옵니다. 예를 들어 "hello"문자열로 검색하면 각각의 ID가있는 두 예제 값을 모두 가져와야합니다. 이 ID는 PRIMARY KEY에 대한 참조이기 때문에 항상 다를 것입니다.

내가 시도한 것 : UNION ALL로 시도했지만 내 예에서는 LIMITS에서 작동하지 않습니다.

 

해결 방법

 

UNION 을 사용하면 동일한 ID로 여러 번 행을 얻을 수 있습니다. LEFT JOIN 을 사용하는 것은 어떻습니까?

질문을 이해했다면 :

SELECT table_zero.id, table_1.varchar_field, table_2.varchar_field
FROM table_zero
  LEFT JOIN table_1 ON table_zero.id = table_1.id
  LEFT JOIN table_2 ON table_zero.id = table_2.id
WHERE table_1.varchar_field LIKE '%str%'
  OR table_2.varchar_field LIKE '%str%'

 

참조 페이지 https://stackoverflow.com/questions/15113480

 

 

반응형

댓글