2010-07-07 4 views
0

나는 숙제 인 학생이다. 나는 피곤하고 혼란스러워진다. 모든 조언을 주시면 감사하겠습니다.SQL select/group

두 개의 테이블이 있습니다.

  • LAST_NAME
  • FIRST_NAME
  • 주소
  • 전화
  • JOB_TITLE (FK)
  • 임금
:

직원에는 다음과 같은 열이 있습니다 16,

JOB_TITLE 내가 내 봉급으로 직원의 성과 이름 및 그룹을 선택해야

  • JOB_DESCRIPTION에게
  • Exempt_Non_Exempt
    • JOB_TITLE (PK)
    • EEO 분류가 있습니다 면제 및 비 면제로 그룹화 된 직책.

      SQL Server를 사용하여 작업을 확인했지만 손으로 ​​직접 작성해야합니다.

    +1

    정확하게 질문하셨습니까? 그룹화되지 않은 열에서 일종의 집계가 작동하기를 원할 수 있습니다. 예를 들어 최대 또는 평균 급여를 받고 직업별로 그룹화합니다. –

    답변

    1

    샘플 데이터를 제공 할 수 있습니까? JOB_TITLE.exempt_non_exempt의 데이터 유형이 무엇인지, 또는 지정된 그룹화 기준에 따라 수행해야 할 작업이 명확하지 않기 때문에 EMPLOYEE.last_name은 대부분 고유합니다 (그러나 Smith의 원칙으로 인해 보장 할 수 없음). 따라서 집계 함수 사용에 대한 필요성이있는 것 같습니다. 당신은 두 테이블에서 유효한 데이터를 얻기 위해 기본/외래 키에 가입

    SELECT e.last_name, e.wage, jt.exempt_non_exempt 
        FROM EMPLOYEE e 
        JOIN JOB_TITLE jt ON jt.job_title = e.job_title 
    GROUP BY e.last_name, e.wage, jt.exempt_non_exempt 
    

    : 내가 읽은 것을 바탕으로

    ,이 후하는지 것으로 보인다.

    GROUP BY 절은 그룹화를 정의하지만 SQL 표준은 집계 함수 (IE : COUNT/MAX/MIN/etc)로 래핑되지 않고 SELECT 절에 열을 지정하면 해당 열이 GROUP BY에 지정하십시오.

    +0

    위대한 단지 내가 필요로하는 것이 감사합니다. – rhonda