쿼리 하나 질문 할게요~ 0 4 1,186

by 하울카 [2014.07.30 09:18:48]


학번이 있고 그 사람은 과목을 여러가 갖고 있습니다

예를들어 1234학번은 영어 수학 과학 을 포함하고있는데 

알고 싶은 건 영어 수학을 포함한 학번이 알고싶은데요 (학번은 모른상태) 어떤식으로 select 해야할까요?

by 이묵 [2014.07.30 09:42:25]

과목당 한칼럼으로 구성되있는건가요?


by 하울카 [2014.07.30 10:06:29]

과목이 한 컬럼이에요


by 이묵 [2014.07.30 10:47:44]
원하시는답변일지는 모르겠지만..

--과목이있는경우 'Y', 과목이없는경우 'N'
WITH SEARCH_STUNO AS (
SELECT '1' STUDENTNO, 'Y' ENGLISH, 'Y' MATH   , 'Y' SCIENCE FROM DUAL
UNION ALL SELECT '2' STUDENTNO, 'Y' ENGLISH, 'N' MATH   , 'Y' SCIENCE FROM DUAL
UNION ALL SELECT '3' STUDENTNO, 'N' ENGLISH, 'Y' MATH   , 'Y' SCIENCE FROM DUAL
UNION ALL SELECT '4' STUDENTNO, 'Y' ENGLISH, 'Y' MATH   , 'N' SCIENCE FROM DUAL
)
SELECT STUDENTNO
  FROM SEARCH_STUNO
 WHERE ( ENGLISH = 'Y' AND MATH = 'Y' )

by 마농 [2014.07.30 13:06:54]
SELECT 학번
  FROM 학생과목테이블
 WHERE 과목 IN ('영어', '수학')
 GROUP BY 학번
 HAVING COUNT(*) = 2               -- 한 학생이 한과목을 한번만 들을 수 있는 경우
-- HAVING COUNT(DISTINCT 과목) = 2 -- 한 학생이 한과목을 여러번 들을 수 있는 경우
-- HAVING MIN(과목) != MAX(과목)
;

 

 

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