- SQL code
CREATE Proc GetResultFee@YearNo varchar(4),@MonthNo varchar(2)ASBEGINInsert Into TB_EmpFeeResult Select A.工号,B.statYear AS 统计年份,B.statMonth AS 统计月份,A.纯计件录入工资,A.纯计件加班工资,B.年工,C.奖金,D.扣罚,E.所得税,F.InsuranceFee AS 缴纳保险,G.ResultFee AS 寝室费用,0 AS 实发工资FROM TB_JobSalary A,V_GetYearFee B,V_GetReWardFee C,V_GetPenFee D,V_GetTaxFee E,V_GetInsFee F,V_GetRoomFee GWHERE A.工号=B.EmpNo AND A.工号=C.EmpNo AND A.工号=D.EmpNo AND A.工号=E.EmpNo AND A.工号=F.EmpNo AND A.工号=G.EmpNo AND [email protected] AND [email protected]END;GO
帮忙分析下原因
------解决方案--------------------
无所谓,就是忽略了空值.没关系的.
------解决方案--------------------
这是因为你相加的数值里含有空值,对你的结果没影响的
举个例子
- SQL code
select sum(col) from ( select 1 as col union select null union select 3 )t/**----------- 4(所影响的行数为 1 行)警告: 聚合或其它 SET 操作消除了空值。**/
------解决方案--------------------
- SQL code
换成 select isnull(字段,0)
------解决方案--------------------
不懂,up
------解决方案--------------------
不懂,up
------解决方案--------------------
这个问题估计跟空值没有关系,看看TB_EmpFeeResult表的字段个数和查询结果的个数是否一致,各字段的类型是否一样,如类型不一样需要转换类型