7,712
社区成员
发帖
与我相关
我的任务
分享
select *
from 如下表 a, 如下表 b
where a.月份=8
and b.月份=7
and a.姓名=b.姓名
and a.月工资<=b.月工资+50
SELECT a.* ,
a.月工资 - b.月工资 AS 差1
, a.月工资 - nz(b.月工资,0) AS 差2
, nz(a.月工资 - b.月工资,0) AS 差3
FROM 表 AS a
LEFT JOIN 表 AS b ON a.姓名 = b.姓名
AND a.月份 = b.月份 + 1;
/*
姓名 月工资 月份 差1 差2 差3
张三 100 7 NULL 100 0
张三 150 8 50 50 50
李四 100 7 NULL 100 0
李四 180 8 80 80 80
*/
SELECT a.*,a.月工资-nz(b.月工资,0) as 上一个月差
FROM Tab1 as a
left join Tab1 as b on a.姓名=b.姓名 and a.月份=b.月份+1
select a.*
from 如下表 a, 如下表 b
where a.月份=8
and b.月份=7
and a.姓名=b.姓名
and a.月工资<=b.月工资+50
unin all
from b.*
where a.月份=8
and b.月份=7
and a.姓名=b.姓名
and a.月工资<=b.月工资+50
SELECT a.*,a.月工资-b.月工资 as 上一个月差
FROM Tab1 as a
inner join Tab1 as b on a.姓名=b.姓名 and a.月份=b.月份+1
where a.月工资<=b.月工资+50;