SQL select / group

时间:2010-07-07 23:14:16

标签: sql sql-server

我是学生这是家庭作业。我变得疲倦和困惑。任何建议将不胜感激。

我有两张桌子。

员工包含以下列:

  • 姓氏
  • FIRST_NAME
  • 地址
  • 电话
  • JOB_TITLE(FK)
  • 工资

Job_title

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

我需要选择员工的姓氏,然后按工资分类将其分组为免税和非免税。

我正在使用sql server检查我的工作,但需要手工编写脚本。

1 个答案:

答案 0 :(得分: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中指定。