MySQL 에서 다른 테이블의 select 결과값을 조건으로 주고 쿼리 방법

조회수 17822회

하고자 하는건 아래와 같습니다.

  1. a 테이블의 select 쿼리 결과를 a_result라 한다.
  2. b 테이블에서 a_result를 하나씩 가져와서 b테이블에 해당하는 값이 몇개가 있는지 select로 조회한다.

예시A) select col_name from table_a where col_name like '%val%';

결과A) val1 val2 val3

예시B) select col, count(col) from table_b where col like '%결과A의 값1%' OR col like '%결과A의 값2%' ...group by ...

결과 B) val1 | 1 val2 | 12 val3 | 44

좀 더 설명을 덧붙이자면 테이블A의 하나의 컬럼에 대해 select로 결과값을 뽑습니다. 이 결과값이 수십개 되는데 이 값들이 테이블B의 특정 필드의 값으로 들어가 있습니다. 최종적으로는 테이블B에 테이블A에서 뽑은 값이 각각 몇개씩 들어가 있는지를 뽑아내야합니다. php에서 수십번의 반복문을 돌리면 얻어낼 수 있겠지만 SQL문을 좀 더 잘 써보고자 하는 마음에 질문드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)