关于两个表 字段相减问题 请教高手

hksl hksl 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
费用表table1
id sname 房租 水费 电费 管理费 维修费 时间
1455 李四 2.500 60.000 30.0000 .0000 18.6666 2004-10-01
1001 1213 45.000 56.000 528.0000.0000 65.00 2004-10-02
1890 郑志坚 1.8000 54.0000 32.0000 .0000 6.0000 2004-10-03
1401 张三 1.8000 54.0000 32.0000 .0000 6.0000 2004-10-04

调整费用表 table2
id sname 房租 水费 电费 管理费 维修费 时间
1455 李四 1.5000 1.000 1.0000 .0000 2.00 2004-10-15
1001 1213 1.0000 5.000 5.0000 .0000 2.00 2004-10-04

我现在要得到这张表table3 (这张表可以用视图)
id sname 房租 水费 电费 管理费 维修费 时间
1455 李四 1.000 1.6000 29.0000 .0000 16.6666 2004-10-01
1001 1213 44.0000 51.000 523.0000.0000 63.00 2004-10-02
1890 郑志坚 1.8000 54.0000 32.0000 .0000 6.0000 2004-10-03
1401 张三 1.8000 54.0000 32.0000 .0000 6.0000 2004-10-04

table3 是 如果在table2中有编号相同和日期年月相同的, table1相应字段减去table2中字段值
如果没有就保持原有的,
我这样做了,但是不对
SELECT a.EmpId, a.SName, a.电费 - b.电费 AS eleExpense,
a.水费 - b.水费 AS waterExpense,
a.房租 - b.房租 AS RoomExpense,
a.管理费 - b.管理费 AS AdminExpense,
a.维修费 - b.维修费 AS ServiceExpense,
FROM dbo.VEmpExpense a left outer JOIN dbo.AdjustEmpExpense b
on a.EmpId = b.EmpId AND YEAR(a.SDatetime)
= YEAR(b.EDateTime) AND MONTH(a.SDatetime) = MONTH(b.EDateTime)
得到除了在table2中有的别的都没有结果
请问怎么做呢,谢谢
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
hksl
MS-SQL Server 34,876 成员 254,635 内容