database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 38829 게시물 읽기
No. 38829
group by 질문입니다.
작성자
박대웅(hsa3428)
작성일
2011-08-29 12:50
조회수
3,764

학번 테이블과 자격증 테이블에서

한학번당 자격증 보유 여부를 확인하려고 하는데요..

어떤 방법이 있을까요...설명 부탁드리니다.

ex)1번이라는 학번의 학생이 보유한 자격증은 운전면허 , 워드 프로세스, 정보처리 기사 3개 입니다..

이 자격증을 하나하나 보여지지 않고 자격증 갯수가 1보다 크면 무조건 '보유' 라고 나오게 하고 싶습니다..

이 글에 대한 댓글이 총 3건 있습니다.

 

select student_no,

       case when b.student_no is null '없음' 

        else '보유'

       end as yn

  from 학번테이블 a,  (select distinct student_no from 자격증테이블) b

where a.student_no = b.student_no(+)

박광일(tohappy)님이 2011-08-29 13:41에 작성한 댓글입니다.

WITH 학번 AS (
SELECT '01' 학번 FROM DUAL UNION ALL
SELECT '02' FROM DUAL UNION ALL
SELECT '03' FROM DUAL
),
자격증 AS (
SELECT '01' 학번, '운전면허' 자격증 FROM DUAL UNION ALL
SELECT '01' 학번, '워드' 자격증 FROM DUAL UNION ALL
SELECT '03' 학번, '워드' 자격증 FROM DUAL
)
SELECT A.학번,
       CASE WHEN COUNT(자격증) >= 1 THEN '보유' ELSE  '미보유' END,
       COUNT(자격증)
FROM   학번   A,
       자격증 B
WHERE  A.학번 = B.학번(+)
GROUP  BY A.학번

DOL님이 2011-08-29 13:42에 작성한 댓글입니다. Edit

감사합니다~

박대웅님이 2011-08-29 13:53에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
38832mview 생성 안될때
박주영
2011-08-31
3450
38831[28396번 검색 속도 문제 입니다] 에 대한 추가 질문입니다. [5]
최진규
2011-08-30
4382
38830sql developer 로드취소? [3]
전상도
2011-08-30
4746
38829group by 질문입니다. [3]
박대웅
2011-08-29
3764
38828sqlldr 실행시 중복된 행이 있을경우 옵션? [1]
김용남
2011-08-29
4554
38827해결책이 없을까여??[자체해결]
김영민
2011-08-29
4873
38826distinct 쓸때 hash groupby 가 풀립니다. [1]
슬라임
2011-08-27
4290
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다