mysql 질문드립니다.
본문
TABLE NAME : ca
FIELD : bo_table , wr_id , ca_id
bo_table | wr_id | ca_id |
support | 52 | a010 |
support | 52 |
a020 |
support | 51 | a010 |
support | 50 | a010 |
support | 49 | a010 |
support | 48 | a010 |
support | 47 | a010 |
support | 46 | a010 |
위와 같은 8개의 레코드?? 가 있는데요... 레코드라고 부르는게 맞는지 모르겠습니다 ㅠ
select 를 사용하여 wr_id = 52이 것만 불러오려고 합니다...
문제는....
where wr_id = '52' 로 하는 것이 아니라
ca_id = 'a010' ca_id = 'a020' 이 두조건을 만족하는 wr_id 를 불러와야 하는 상황입니다.
어떻게 해야할지 모르겠네요 ㅠㅠ
답변 3
select * form ca where wr_id = '52' and (ca_id='a010' or ca_id = 'a020')
으로 하실수있고
숫자가 고정이라면
select * form ca where wr_id = '52' and ca_id in ('a010','a020')
으로도 가능합니다
record예가 조금 부족합니다. 즉 선택이 안되어야 되는 케이스도 몇개 더 들어가야 좀 더 정확한 sql문이 될 것 같습니다.
SELECT * FROM ca WHERE wr_id IN (
SELECT wr_id FROM ca GROUP BY wr_id HAVING GROUP_CONCAT(ca_id) = 'a010,a020'
)
!-->
답변을 작성하시기 전에 로그인 해주세요.