상세 컨텐츠

본문 제목

여러테이블 검색결과 한번에, mysql 2개테이블/ 3개테이블 한번에 검색 union

IT공부방/기타

by 동해둘리 2018. 12. 13. 15:44

본문

반응형



여러개의 테이블에서 검색한 결과를 한번에 뿌려주어야 하는 경우가 있습니다


예를들어, 검색할 때에 3개의 게시판에 있는 내용을 모두 검색하여 

한 화면에 뿌려주는 경우입니다.


이럴때는 단순히 UNION 함수만 사용하면 됩니다.



SELECT subject FROM A_TABLE WHERE subject like '%검색어%' 

UNION 

SELECT subject FROM B_TABLE WHERE subject like '%검색어%' 

UNION 

SELECT subject FROM C_TABLE WHERE subject like '%검색어%' 



      이렇게 하면 A_TABLE, B_TABLE, C_TABLE 의 검색결과를 한번에 얻을 수 있습니다.

검색결과를 리스트 형태로 뿌려주는 경우, 제목을 클릭하면 각각의 테이블 정보로 링크가 되어야 할텐데요,


이럴때는 검색결과에 어떤테이블에서 검색된 값인지 알아야할 필요가 생깁니다.


이럴때는 아래와 같이 얻을 수 있습니다.



SELECT subject, 'A_TABLE' table_name FROM A_TABLE WHERE subject like '%검색어%' 

UNION 

SELECT subject, 'A_TABLE' table_name FROM B_TABLE WHERE subject like '%검색어%' 

UNION 

SELECT subject, 'A_TABLE' table_name FROM C_TABLE WHERE subject like '%검색어%' 





반응형

관련글 더보기

댓글 영역