ms sql 질문합니다..

송진현   
   조회 6039   추천 0    

 

7. 세 명 이상의 사원이 참여한 프로젝트의 번호, 이름, 사원의 수를 보이시오.(검색 결과에 사원수열 이름 사용)

 

8. 세 명 이상의 사원이 있는 부서의 사원 이름, 전화번호, 성별, 부서명을 보이시오.


숙제인데..


1~6,9번은 해결을했는데 7번과 8번의 3명이상이라는게 어떤방향인지 감도 안잡히네요..


그룹바이 해빙절 ㎢쨉잘 안되는거 같네요.. 힌트점 부탁드립니다..


밑줄은 기본키입니다.. 쌍 밑줄은 복합키입니다.




Employee                                                               Department


열 이름

데이터타입

널 허용여부

empno

int

허용 안 함

name

varchar(20)

 

phoneno

int

 

address

varchar(20)

 

sex

varchar(20)

 

position

varchar(20)

 

deptno

int

 


열 이름

데이터타입

널 허용여부

deptno

int

허용 안 함

deptname

varchar(20)

 

manager

varchar(20)

 


 


Project                                                                  Works


열 이름

데이터타입

널 허용여부

projno

int

허용 안 함

projname

varchar(20)

 

deptno

int

 


열 이름

데이터타입

널 허용여부

empno

int

허용 안 함

projno

int

허용 안 함

hoursworked

int

 




!...
짧은글 일수록 신중하게.
태무진 2015-04
Select  work.projno, Project.projename,COUNT(*) as 사원수
      From work inner join Project
        on work.projno = Project.projno
      group by work.projno,Project.projename
      having COUNT(*) >=3

또는

select z.projno, Project.projename,z.사원수
from ( Select  work.projno, COUNT(*) as 사원수
          From work
          group by work.projno
          having COUNT(*) >=3 ) as z
      inner join Project on z.projno = Project.projno

8번은 숙제이니 참고해서 직접 해보시기 바랍니다.
     
송진현 2015-04
생각보다 group by가 잘안됩니다..

 하하..

 공부가 더 필요하다는 신호인거 같습니;다..
태무진 2015-04
with Work  As
(
    Select  '1' As empno, 'p1' as projno, 10 as hoursworked Union All
    Select  '2' As empno, 'p1' as projno, 10 as hoursworked Union All
    Select  '3' As empno, 'p1' as projno, 10 as hoursworked Union All
    Select  '1' As empno, 'p2' as projno, 10 as hoursworked Union All
    Select  '1' As empno, 'p3' as projno, 10 as hoursworked Union All
    Select  '3' As empno, 'p3' as projno, 10 as hoursworked Union All   
    Select  '4' As empno, 'p3' as projno, 10 as hoursworked Union All
    Select  '5' As empno, 'p3' as projno, 10 as hoursworked Union All
    Select  '6' As empno, 'p3' as projno, 10 as hoursworked Union All
    Select  '1' As empno, 'p4' as projno, 10 as hoursworked Union All
    Select  '5' As empno, 'p4' as projno, 10 as hoursworked Union All
    Select  '7' As empno, 'p4' as projno, 10 as hoursworked 
   
)
,Project  As
(
    Select  'p1' as projno, 'Project 1' as projename, 'D1' as deptno  Union All
    Select  'p2' as projno, 'Project 2' as projename, 'D1' as deptno  Union All   
    Select  'p3' as projno, 'Project 3' as projename, 'D1' as deptno  Union All
    Select  'p4' as projno, 'Project 4' as projename, 'D1' as deptno  Union All
    Select  'p5' as projno, 'Project 5' as projename, 'D1' as deptno  Union All
    Select  'p6' as projno, 'Project 6' as projename, 'D1' as deptno
)


Select  work.projno, Project.projename,COUNT(*) as 사원수
      From work inner join Project
        on work.projno = Project.projno
      group by work.projno,Project.projename
      having COUNT(*) >=3


QnA
제목Page 2846/5731
2015-12   1793691   백메가
2014-05   5268684   정은준1
2016-09   4635   iaress
2009-02   5409   잔디
2014-05   4832   김황중
2015-09   4773   테돌아이
2012-05   14830  
2024-10   1312   항공모함
2016-09   3808   밤기차
2017-10   4324   제이레빗
2024-11   818   guest1
2012-06   5010   박상범
2014-05   3981   회원K
2021-06   4534   NaHS
2024-11   1161   피버꾸
2024-11   892   허밍버드
2009-04   5751   고영덕
2015-09   6738   겨울바다맥스
2024-11   1187   무쏘뿔처럼
2009-04   11099   일반유저
2015-09   7947   무아
2014-05   5406   정은준1