回 帖 发 新 帖 刷新版面

主题:加急~!知道请告诉下!谢谢了!

/*建立员工管理数据库EmployeeManager*/
create database EmplayeeManager
use EmplayeeManager
-----------------------------------

/*表一:地区表Area*/
create table Area
(
    a_no int primary key,
    a_name varchar(50) not null
)
-----------------------------------

/*表二: 部门表Department*/
create table Drpartment
(
    d_no int primary key,
    d_name varchar(50) not null
)
-----------------------------------

/*表三:职位表Position*/
create table Position
(
    p_no int primary key,
    p_name varchar(50) not null
)
-----------------------------------

/*表四: 员工表Employee*/
create table Employee
(
    e_no int primary key,
    e_name varchar(50) not null,
    e_birthday datetime check(e_birthday<=getdate()),
    e_sex varchar(2) check(e_sex='男'or e_sex='女') default '男',
    e_hiretime datetime check(e_hiretime<=getDate()),
    d_no int foreign key references Drpartment(d_no),
    e_bossno int foreign key references Employee(e_no),
    p_no int foreign key references Position(p_no),
    a_no int foreign key references Area(a_no),
    e_salary money check(e_salary>0),
    e_bonus money check(e_bonus>=0),
)
-----------------------------------

/*加2个字段*/
alter table Employee add e_phone int
/*在职位表,地区表,部门表中各添3~5条数据,在员工表中添至少10条数据*/
insert Area values(1,'北京')
insert Area values(2,'上海')
insert Area values(3,'大连')

insert Drpartment values(1,'销售部')
insert Drpartment values(2,'市场部')
insert Drpartment values(3,'开发部')

insert Position values(1,'董事')
insert Position values(2,'部门经理')
insert Position values(3,'组长')

insert Employee values(1,'E1','1981/1/1','男','1991/1/1',1,1,1,1,1000,100,'12345678')
insert Employee values(2,'E2','1982/2/1','女','1992/1/1',2,1,1,1,2000,200,'12335678')
insert Employee values(3,'E3','1983/3/1','男','1993/1/1',3,1,1,1,3000,300,'12345678')
insert Employee values(4,'E4','1984/4/1','女','1994/1/1',1,2,2,2,4000,400,'12345778')
insert Employee values(5,'E5','1985/5/1','男','1995/1/1',2,2,2,2,5000,500,'12325678')
insert Employee values(6,'E6','1986/6/1','女','1996/1/1',3,2,2,2,6000,600,'12145678')
insert Employee values(7,'E7','1987/7/1','男','1997/1/1',1,3,3,3,7000,700,'12348678')
insert Employee values(8,'E8','1988/8/1','女','1998/1/1',2,3,3,3,8000,800,'12145678')
insert Employee values(9,'黎平','1989/9/1','男','1999/1/1',3,3,3,3,9000,900,'13695678')
insert Employee values(10,'李红','1990/10/1','女','2006/1/1',1,3,3,3,10000,0,'12945678')

问题如下:

查询每个部门薪水最高的人的姓名,性别,和薪水~~
语句怎么写啊?
急啊!!!

回复列表 (共17个回复)

11 楼

[quote]
服务器: 消息 8120,级别 16,状态 1,行 1
列 'Employee.e_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'Employee.e_sex' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
还是这个[/quote]


是我修改之后的语句出现这种错误提示吗?

12 楼

是的

13 楼

select top 1 e_name,e_sex,e_salary from Employee group by d_no 
order by e_salary as desc
你再试一试

14 楼

select (select d_name from Drpartment where d_no=tab2.d_no) as Dept_Name,
       e_name,e_sex,e_salary
from employee tab1 join
    (select d_no, max(e_salary) as salary from Employee group by d_no) tab2
    on tab1.d_no=tab2.d_no and tab1.e_salary=tab2.salary



Please try ...


15 楼

转让本人学习JAVA系列的培训资料,详细介绍如下,后面有联系方式,需要的请速联系。(一律超低价转让!!!)
一、    JAVA基础培训
1.    孙鑫Java无难事(共108集)
本套光盘由孙鑫老师亲自授课录制。内容涵盖面广,从入门到精通,授课通俗易懂,分析问题独到精辟,学员通过本套光盘的学习,能够快速掌握Java编程语言,成为Java高手。
2.    张孝祥Java就业培训(共56集)
本套教学光盘深入浅出的理论分析、精练生动的案例讲解、亲切直观的操作界面、恍然大悟的学习收获。张孝祥老师的课程,就不用多说了。
3.    翁凯Java语言视频培训(共30集)
        本视频教学是由浙江大学著名年轻计算机专家翁恺教授主讲,一共30集,讲得很好,从JAVA的基础讲起,由浅入深,绝对是精品。看本视频讲座最好是有一点c++的底子
二、    JAVA进阶培训
1.    赛迪网校J2EE软件工程师培训(J2EE基础13集  高级17集  案例7集)
       本课程包括J2EE的各个主要方面,以及开发环境,设计模式,和经典案例分析等实用内容。通过本课程的学习,学员将具有J2EE开发的扎实理论基础和实际设计经验,可胜任企业级应用的设计和开发等实际工作。本课程共计约40课时。授课教师均是来自主流J2EE厂商并具有J2EE 5年以上开发和咨询经验的技术专家。
2.    J2EE Web程序开发(共38集)
国内最知名的J2EE讲师刘晓涛讲师执教,课程生动形象并结合典型企业案例深入的分析。从零开始:该课程以零基础为起点,强调基础理论结合实际;以基础理论课程为第一阶段,到常用工具使用及工作应用为提高部分。专业性强:多平台软件开发(Windows/Linux) ;紧跟先进的技术(极限编程/测试驱动开发);规范化(学习印度软件经验);不仅仅是编程,在教学过程当中渗透设计思想;编程思想的熏陶,打通任督二脉,对编程语言一通百通;软件工程思想的灌输(分析,设计,实现,测试一条龙)。
三、    JAVA实战项目培训录像
该培训录像是北京尚学堂科技第一个项目(聊天系统)和 第二个项目(坦克大战)的课堂实录,马士兵老师以手把手一行一行代码的形式教大家如何开发一个示例性Chat和一个相当完备的TankWar游戏,详尽透彻的解释了j2se的常用知识,只要按照教程中的操作一步一步完成,你就足以掌握j2se/eclipse到能够进一步学习的水平了,项目实战,不容错过!
四、    Oracle 9i 大型视频培训录像(共64集,13.4G)
*1Z0-007 Introduction to Oracle9i SQL 
*1Z0-031 Oracle9i DBA Fundamentals I 
*1Z0-032 Oracle9i DBA Fundamentals II 
*1Z0-033 Oracle9i Performance Tuning
    另附全套PPT培训讲稿。

联系方式:
QQ:421130479
MSN:njlaoshi@hotmail.com
Tel:13512510369(短信佳)
E-mail:njlaoshi@hotmail.com

16 楼

select d_no, max(e_salary) sal into #t1 from employee 
group by d_no

select c.d_name, e_name , e_sex , e_salary from employee a
inner join #t1 b on a.d_no=b.d_no and a.e_salary=b.sal
inner join department c on a.d_no=c.d_no

17 楼


连表

部门和员工.用编号连接

我来回复

您尚未登录,请登录后再回复。点此登录或注册