(在线等待)表联合查询
有两个表: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 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]