首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

(待)表联合查询

2012-03-05 
(在线等待)表联合查询有两个表:AA(name,aday(加班天数)),BB(name,bday(请假天数)),想实现下面的功能:如果A

(在线等待)表联合查询
有两个表:AA(name,aday(加班天数)),BB(name,bday(请假天数)),想实现下面的功能:

如果AA表的name与BB表的name同一人,那就aday - bday,如果AA有而BB没有或者BB有而AA没有,也要显示在DBGrid中。即:

AA BB

name aday name bday

BB 1 BB 2

CC 2 DD 1

EE 1 EE 1


查询显示结果应该是:

name day

BB -1

EE 0

CC 2

DD 1

哪位朋友帮忙一下,不胜感激!谢谢




[解决办法]
关注,帮顶
[解决办法]
Select IsNull(A.Name,B.Name) as Name,IsNull(A.ADay,0) as ADay,IsNull(B.BDay,0) as BDay
 From AA A Full Join BB B On A.Name=B.Name

这样的问题都在问,看来你们的项目比较尴尬
[解决办法]

探讨
Select IsNull(A.Name,B.Name) as Name,IsNull(A.ADay,0) as ADay,IsNull(B.BDay,0) as BDay
From AA A Full Join BB B On A.Name=B.Name

这样的问题都在问,看来你们的项目比较尴尬

[解决办法]
SQL code
select cc.name, sum(cc.aday) as [day] from (select name,aday from aa union all (select name,bday*-1 as aday from bb)) cc
[解决办法]
不好意思,上面的忘了group by 了
select cc.[name], sum(cc.aday) as [day] from (select [name],aday from aa union all (select [name],bday*-1 as aday from bb)) cc group by cc.[name]

热点排行