我已经定义了1. 定义三个基本类 分别是员工工数类StaffCost.Java 员工类Staff.Java 部门类Dept.java 存储数据
StaffCost:员工工号 部门CD 12个月的工数信息
Staff:员工工号 部门CD 员工姓名 年龄 进入公司时间 手机 mail 职称 职务
Dept:包含部门CD 部门名称
然后初始化后 还创建了insert方法
现在就不会select了 select方法:根据下列条件检索员工的工数信息,当没有相应工数信息的话,打印错误信息
条件:
员工工号
部门CD
无条件(检索所有员工的工数信息)
年总工数(年总数以上或以下的员工工数信息)
输出的内容包括部门名称,员工姓名求解啊 谢谢各位!

解决方案 »

  1.   

    你要的是sql语句吗?
    如果是sql的话那么你需要采用join运算(个人建议),例如你查询员工信息可以这样:
    select d.部门名称,s.员工姓名 from Staff as s join (select sc.员工工号,sc.部门CD,d.部门名称 from StaffCost as sc join Dept as d on sc.部门CD = d.部门CD where s.员工工号 = 员工工号/s.部门CD=部门CD)  on s.员工工号 = sc.员工工号 where s.员工工号 = 员工工号/s.部门CD=部门CD
    不知道你想要的是怎么样的
    如果是数据库的查询,需要跨这三个表进行查询
    你说当没有相应的工数信息就打印错误信息,我觉得这样需要用代码实现,sql语句它好像没有自动报错的功能。
    你可以只查询员工的工数,当不存在时则报错。这是我的个人理解,不知道对你有没有帮助。
      

  2.   

    这些很基础的sql语句啊,楼主可以好好学学这个,至少把一些基础的东西掌握好啊!
      

  3.   

    简单的sql语句,楼主应该学好sql语句,这是基础。不会sql,以后怎么找工作啊。这可是面试的必考题目。
      

  4.   

    这个是多表联查,楼主要好好分析他们之间的关联关系,合理的运用sql语句,就可以查询出来了,好好学学吧!
      

  5.   

    1 --员工工号条件查询
    select c.部门名称,b.员工姓名, a.*
      from StaffCost a, Staff b, Dept c 
     where a.员工工号 = b.员工工号
        and b.部门CD = c.包含部门CD
       and a.员工工号 = 条件.员工工号2 --部门CD条件查询
    select c.部门名称,b.员工姓名, a.*
      from StaffCost a, Staff b, Dept c 
     where a.员工工号 = b.员工工号
        and b.部门CD = c.包含部门CD
       and a.部门CD = 条件.部门CD3 --无条件查询
    select c.部门名称,b.员工姓名, a.*
      from StaffCost a, Staff b, Dept c 
     where a.员工工号 = b.员工工号
        and b.部门CD = c.包含部门CD4 --年总工数(年总数以上或以下的员工工数信息)
    select c.部门名称,b.员工姓名, a.*
      from StaffCost a, Staff b, Dept c 
     where a.员工工号 = b.员工工号
        and b.部门CD = c.包含部门CD
        and (a.12个月的工数信息 > 条件.年总工数
              or a.12个月的工数信息 < 条件.年总工数)至于打印错误信息,可以通过判断结果集为是否有数据,如果无,则打印错误信息。