2010-07-07 26 views
0

我是學生,這是作業。我感到疲倦和困惑。任何建議將被認真考慮。SQL select/group

我有兩個表。

員工有以下欄目:

  • 姓氏
  • FIRST_NAME
  • 地址
  • 電話
  • JOB_TITLE(FK)
  • 工資

JOB_TITLE

  • JOB_TITLE(PK)
  • EEO分類
  • Job_description
  • Exempt_Non_Exempt

我需要的薪金中選擇員工的姓氏和他們組職務名稱分爲豁免和非豁免。

我正在使用sql server來檢查我的工作,但它需要手工編寫腳本。

+1

你說錯了嗎? 您希望某種聚合在未分組的列上工作。例如,通過職位獲得最高或平均工資和分組。 – 2010-07-07 23:20:43

回答

1

你能提供樣本數據嗎?因爲我不清楚JOB_TITLE.exempt_non_exempt的數據類型是什麼,或者按指定的分組標準完成什麼 - EMPLOYEE.last_name將大部分是獨特的(但由於史密斯先生的原則,它不能得到保證),所以它聽起來像需要聚合函數的使用。

基於我讀過,這看起來是後你在做什麼:

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標準是,如果你在SELECT子句中指定列而不被聚合函數(IE:COUNT/MAX/MIN/etc)包裝,那麼這些列需要在GROUP BY中指定。

+0

偉大的只是我需要感謝 – rhonda 2010-07-07 23:44:51