我有一个用于从SQL数据库中导出数据的C#应用程序。它从视图中提取数据并将其导出到Excel中,以导入到我们的工资系统。我需要计算加班金额。我有下面的代码,但它不计算加班的数量。我已经搜索了互联网寻求解决方案,但没有任何运气。 如何根据行的总和计算值以获得值
SELECT [Co Code]
, [Empl No]
, [Task CD]
, [Day No]
, [Fund Co Code]
, [Job No]
, [Equip Cost Cde]
, SUM([Reg Hrs Jc]) AS [Reg Hrs Jc]
,(CASE WHEN [Reg Hrs Jc] > 40 THEN [Reg Hrs Jc] - 40 ELSE 0 END) AS [Ot Hrs Jc]
FROM dbo.MIS_FTTIMECARD_OT
WHERE ([Date Worked] BETWEEN '8/11/2013' AND '8/17/2013')
GROUP BY [Co Code]
, [Empl No]
, [Task CD]
, [Day No]
, [Fund Co Code]
, [Job No]
, [Equip Cost Cde]
, (CASE WHEN [Reg Hrs Jc] > 40 THEN [Reg Hrs Jc] - 40 ELSE 0 END)
您不能提供足够的信息。更多地解释你的数据,每个员工每周或每天都有一行。你是否想要获得每位员工的总小时数?只是列出表格定义并给出一些很好的样本数据。另外,如果您的列名中没有空格,则不需要遍布各处的令人讨厌的[大括号]。 –
看起来你是基于你的加班标准的基础上,而不是值的总和。此外,这种事情,sum(fieldname)作为fieldname往往会导致问题。我建议使用不同的别名。 –