ms sql join 질문입니다. 0 1 634

by 크크김 [2018.11.27 18:14:37]


"select l.강의코드, p.이름, s.강의명, s.학년, s.학기, s.학점, s.강의실 from list l, Professor p, Subject s where l.강의코드=s.강의코드";

이게 join문 맞는건가요.. ? 

list는 수강목신청한 목록이 있구요 칼럼은 no,학번,강의코드

Professor는 교수정보가있고 칼럼은 no,교번,이름,과,주민번호,전화번호,주소,연구실

Subject는 학교의 커리큘럼 과목들이있습니다

칼럼은 no,강의코드,교수,강의명,학년,학기,학점,과,강의실입니다.

C#폼에서 수강목록을 누르면 강의코드,교수,강의명,학년,학기,학점,강의실을 리스트뷰에 뿌려주는작업을 하고있습니다.

오류는 안뜨는데 안불러와지네요ㅠ_ㅠ

 

by 마농 [2018.11.27 18:55:31]

1. 테이블이 3개면
 - 최소 2개의 조인조건이 있어야 합니다.
 - 조인조건이 누락되었구요.
2. 데이터가 안나오는 것은 별개의 문제입니다.
 - 조건을 만족하지 못했다는 것이죠.
 - 왜 안나오는지 데이터를 확인해서 이유를 찾아보세요.

-- 1. 비표준 --
SELECT l.강의코드
     , p.이름     AS 교수이름
     , s.강의명
     , s.학년
     , s.학기
     , s.학점
     , s.강의실
  FROM list      l
     , Professor p
     , Subject   s
 WHERE l.강의코드 = s.강의코드
   AND s.교수번호 = p.교수번호
;
-- 2. 표준 --
SELECT l.강의코드
     , p.이름     AS 교수이름
     , s.강의명
     , s.학년
     , s.학기
     , s.학점
     , s.강의실
  FROM list      l
 INNER JOIN Subject   s
    ON l.강의코드 = s.강의코드
 INNER JOIN Professor p
    ON s.교수번호 = p.교수번호
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입