求一句跨表汇总语句

第一句:SELECT B.EMPID AS 工号,A.EMPNAME 姓名, B.DEP AS 班组,SUM(REVARD) 金额 FROM ENROL A,EMPDEP B WHERE A.EMPNAME IN (SELECT EMPNAME FROM EMPDEP WHERE DEP = =DataCombo1.BoundText) AND A.EMPNAME=B.EMPNAME GROUP BY B.EMPID,A.EMPNAME,B.DEP ORDER BY B.DEP


第二句:SELECT EMPNAME 姓名, SUM(REVARD) 加班费 FROM ENROL WHERE EMPNAME IN (SELECT EMPNAME FROM EMPDEP WHERE DEP =DataCombo1.BoundText) GROUP BY EMPNAME ORDER BY SUM(REVARD) ASC

我把人名EMPNAME、编号ID和系别DEP字段全部存在EMPDEP表中,现在想让第二句中的SELECT EMPNAME 姓名, SUM(REVARD) 加班费 FROM ENROL中所提取的人名加上EMPDEP表中的ID、DEP,不懂如何实现,第二句查找出来的跟第一句总是有区别。

作者: zxg007   发布时间: 2011-06-15

我在SQL查询上也遇到困难了,你能帮帮我吗

作者: lirui00142   发布时间: 2011-06-15

SQL code

--第二句
select a.姓名,b.ID,b.DEP,a.加班费
(select SELECT EMPNAME 姓名, SUM(REVARD) 加班费
 FROM ENROL
group by EMPNAME) a,EMPDEP b
where a.姓名 = b.EMPNAME
and b.DEP =DataCombo1.BoundText
order by a.加班费 desc

--比较奇怪的话,为何不以员工工号关联,以姓名的话,重名的会有问题


作者: jyh070207   发布时间: 2011-06-15

SQL code
SELECT B.EMPID AS 工号,A.EMPNAME 姓名, B.DEP AS 班组,SUM(REVARD) 金额 
FROM ENROL A,(select EMPNAME,max(DEP) as DEP from EMPDEP group by EMPNAME) B 
WHERE A.EMPNAME=B.EMPNAME   and b.DEP =DataCombo1.BoundText
GROUP BY B.EMPID,A.EMPNAME,B.DEP ORDER BY B.DEP

作者: cd731107   发布时间: 2011-06-15

引用 2 楼 jyh070207 的回复:
SQL code

--第二句
select a.姓名,b.ID,b.DEP,a.加班费
(select SELECT EMPNAME 姓名, SUM(REVARD) 加班费
FROM ENROL
group by EMPNAME) a,EMPDEP b
where a.姓名 = b.EMPNAME
and b.DEP =DataCombo1.BoundText
order b……


前期没弄好数据库,所以后面只好以名字做为关联,我在新增姓名的时候做了唯一的处理了。谢谢啊。

作者: zxg007   发布时间: 2011-06-15

引用 3 楼 cd731107 的回复:
SQL code
SELECT B.EMPID AS 工号,A.EMPNAME 姓名, B.DEP AS 班组,SUM(REVARD) 金额
FROM ENROL A,(select EMPNAME,max(DEP) as DEP from EMPDEP group by EMPNAME) B
WHERE A.EMPNAME=B.EMPNAME and b.DEP =DataComb……

谢谢啊。这个MAX(DEP)是啥作用啊?不太明白,呵呵。

作者: zxg007   发布时间: 2011-06-15