关于两个表 字段相减问题 请教高手
费用表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中有的别的都没有结果
请问怎么做呢,谢谢
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中有的别的都没有结果
请问怎么做呢,谢谢
...全文
相关推荐
一元多项式计算问题课程设计
**程序模块设计**:程序由多个子函数组成,包括创建链表、输出链表、多项式相加、相减、复制链表、判断指数是否相同、销毁链表、菜单显示以及主程序等。8.
数据结构课程设计报告一元稀疏多项式计算器.pdf
链表中的每个节点可以包含两个字段:一个用于存储指数的字段和一个用于存储系数的字段。这种链表通常称为单链表,因为它每个节点只有指向下一个节点的指针,而没有指向前一个节点的指针。
获取指定两个日期之间的所以日期
计算两个日期之间的天数差。这一步通过获取两个`Date`对象的时间戳(毫秒),相减后转换成天数。
易语言-易语言数据库例程(实现数据为0失败)
可以使用`执行SQL语句`函数执行自定义的SQL命令,例如`UPDATE 表名 SET 字段名 = 字段名 - 输入值 WHERE 条件`。4.
计算机VFP考试题A.pdf
**VFP表达式和函数** - `LEN()`函数:计算字符串长度,例如`Len(a-b)`计算两个字符串相减后的长度。


