mysql 5.0.x 버전입니다.
a_a table
--------
a_seq : 자동증가 시퀀스
u_seq : 회원 시퀀스 넘버
is_open : 1 or 2 or 3
a_b table
--------
a_seq : a테이블의 자동증가 시퀀스
s_seq : 특정 값
라는 두개의 테이블이 있습니다.
1라는 회원의
a테이블의 is_open이 0이거나 1인것의 값을 가져오는데
0일경우에는 b테이블 s_seq의 값이 어떤것이라도 상관없지만
1일경우에 b테이블 s_seq가 2 or 3일 경우의 값을 가져와야 합니다.
쿼리문으로
SELECT *
FROM a_a AS a
INNER JOIN a_b AS b ON a.a_seq = b.a_seq
WHERE
a.u_seq = 1 and
( a.is_open =0
OR (
a.is_open =2
AND b.s_seq
IN ( 2, 3 )
)
)
가 맞나요?
어떻게 질의 해야하나요?
where절의 조건과
on절의 조건이 무슨차이를 가지고 있는지도 알고 싶어요
|