SELECT
B.F_ID
,B.F_NAME
,B.F_EDU
,A.F_BOOKNAME
,A.F_SECTION
,A.F_INDEX
,A.F_BIGNAME
,A.F_AREA
,A.F_SMALLNAME
,B.F_IS_MOVIE_SEE --동영상 수강 여부
FROM
T_CURRI_MST A
LEFT OUTER JOIN T_RESULT_MST B ON A.F_BOOKCODE = B.F_BOOKCODE
WHERE B.F_ID='MATHVVVV2'
ORDER BY B.F_ID ASC,A.F_SECTION ASC, A.F_INDEX ASC
A 테이블은 교재에한 정보가 있는 테이블,
B테이블은 교재 수강이력이 있는 테이블입니다.
결과페이지로는 A테이블에 있는 교재 전체와 각 교재에 대한 동영상 수강여부를 보여지게 하고 싶은데..
B 테이블에는 데이터가 한 건만 들어가져 있는데[동영상 수강여부 : Y] 결과로 보여지는 테이블에는 모두 Y 값만 들어가져버립니다.
아우터 조인 이렇게 쓰면 안되는건가요? 고수님들 도와주세요 ㅠㅠ
Comment 3
-
catchv
2013.04.03 18:43
-
형님
2013.04.05 10:04
답변 감사합니다~~
-
쓸만한게없네(윤선식)
2013.04.05 17:29
JOIN 조건과 FILTER 조건의 차이에 대해서 공부하시는 것이 좋습니다...
이 글 보시면 현상은 확인 가능하고요, 만약 JOIN 조건과 FILTER(WHERE) 조건을 정확하게 이해하신다면 웃음 나오실 지도.
질문이 잘 이해는 안되지만
아마도
LEFT OUTER JOIN T_RESULT_MST B ON A.F_BOOKCODE = B.F_BOOKCODE
WHERE B.F_ID='MATHVVVV2'
빨간색 부분이 WHERE 절에 있으면 LEFT OUTER JOIN의 의미가 없을 것 같습니다.
LEFT OUTER JOIN T_RESULT_MST B ON A.F_BOOKCODE = B.F_BOOKCODE
AND B.F_ID='MATHVVVV2'
WHERE
B.F_ID='MATHVVVV2'ON 절에 있는 것이 맞을 것 같습니다.
-- catchv