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개 / 댓글 2개
채택된 답변
+20 포인트
5년 전
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')
으로도 가능합니다
답변에 대한 댓글 2개
완전핵초짜
5년 전
5년 전
@완전핵초짜
그런경우라면
select wr_id from ca where ca_id = 'a010' and ca_id = 'a020'
이 됩니다.
그런경우라면
select wr_id from ca where ca_id = 'a010' and ca_id = 'a020'
이 됩니다.
5년 전
Copy
SELECT * FROM ca WHERE wr_id IN (
SELECT wr_id FROM ca GROUP BY wr_id HAVING GROUP_CONCAT(ca_id) = 'a010,a020'
)
5년 전
record예가 조금 부족합니다. 즉 선택이 안되어야 되는 케이스도 몇개 더 들어가야 좀 더 정확한 sql문이 될 것 같습니다.
답변을 작성하려면 로그인이 필요합니다.
a010, a020 만으로 저 두개다 and 해서 wr_id 값을 추출해야해요 ㅠ