IT공부방/기타
여러테이블 검색결과 한번에, mysql 2개테이블/ 3개테이블 한번에 검색 union
동해둘리
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 '%검색어%'
반응형