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 40764 게시물 읽기
No. 40764
값의 수가 너무 많습니다.라고 에러가 뜨네요~ 알려주세요^^
작성자
짱초보(eptkdeptkd)
작성일
2015-04-06 00:38
조회수
7,126

안녕하세요~

 

EMPLOYEE(empno,name,phoneno,address,sex,position,deptno)

DEPARTMENT(deptno,depatname,manager)

 

에서 세명 이상의 사원이 있는 부서의 사원 이름을 찾고싶은것인데요

deptno 에서 1 부서에 3명을 넣었습니다.

 

제가 생각하기엔

 

SELECT name

FROM EMPLOYEE

WHERE deptno IN(SELECT deptno,COUNT(*)

FROM EMPLOYEE

GROUP BY deptno

HAVING COUNT(*)>=3);

 

라고하면 나올 것 같은데 3행 WHERE 부분에서 오류가 나네요 ㅠㅠ

도와주세요!!!!!!

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

-- In 절의 경우..처리가능한 한계가 있는것으로 알고 있습니다.

-- 건수가 많은 경우, In 절 보다는 Exists.. 절을 주로 사용을 하구요.

--In 을 Exists 로

--변경해서 해보세요..

--참고만 하세요..

 

With EMPLOYEE (deptno,name) As
(
     Select 1,'하하' Union All
     Select 2,'하하2' Union All
     Select 3,'하하3' Union All
     Select 3,'하하하' Union All
     Select 3,'하하하하' Union All
     Select 3,'하하하하하' Union All
     Select 1,'하하하' Union All
     Select 1,'하하하하'
)

SELECT
       deptno
      ,name
FROM EMPLOYEE
WHERE Exists
                                          (
                                               SELECT '1'
                                                 FROM EMPLOYEE x
                                                Where x.deptno = EMPLOYEE.deptno
                                             GROUP BY x.deptno
                                               HAVING COUNT(x.name)>=3
                                          );

 

최한영(terry0515)님이 2015-04-06 08:43에 작성한 댓글입니다.

아 ~~ 감사합니다!!!!!^^

짱초보(eptkdeptkd)님이 2015-04-06 10:34에 작성한 댓글입니다.

 With EMPLOYEE (deptno,name) As

(
     Select 1,'하하' from dual Union All
     Select 2,'하하2' from dual Union All
     Select 3,'하하3' from dual Union All
     Select 3,'하하하' from dual Union All
     Select 3,'하하하하' from dual Union All
     Select 3,'하하하하하' from dual Union All
     Select 1,'하하하' from dual Union All
     Select 1,'하하하하' from dual 
)
SELECT 
       deptno
      ,name
FROM EMPLOYEE a
WHERE a.deptno in 
  (
       SELECT deptno
         FROM EMPLOYEE x
     GROUP BY x.deptno
       HAVING COUNT(x.name)>=3
  )
 
김흥수(protokhs)님이 2015-04-06 11:48에 작성한 댓글입니다.

정말 감사합니다~^^!!!

 

짱초보(eptkdeptkd)님이 2015-04-07 19:47에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40767sql 좀 봐주세요. [5]
이현정
2015-04-08
7455
40766oracle sql 로 각 분단위로 지정시간동안의 누적 합계를 구하려고 하는데 쿼리가 안짜지네요 [5]
버들고양이
2015-04-08
6840
40765토드와 was의 실행결과가 틀립니다. [1]
조형래
2015-04-07
6486
40764값의 수가 너무 많습니다.라고 에러가 뜨네요~ 알려주세요^^ [4]
짱초보
2015-04-06
7126
40763토,일을 제외한 날짜 카운트 질문 [1]
김영희
2015-04-02
7031
40762TREE 구조 SELECT 질문입니다. [2]
이용헌
2015-04-02
7300
40761쿼리 퀴즈입니다(울타리 자르기) [1]
김흥수
2015-04-01
11228
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다