【发布时间】:2016-07-05 07:42:35
【问题描述】:
我的查询显示错误,谁能帮助我。
我的查询:
SELECT A.EmpCodeC,
E.EmpNameC,
B.DesigNameC,
C.DeptNameC,
D.SecNameC,
A.ClockDateD,
TimeClk1N,
TimeClk2N,
TimeClk3N,
TimeClk4N,
A.BJClk1N,
A.BJClk2N,
A.BJClk3N,
A.BJClk4N,
A.TimeInN,
A.TimeOutN,
A.ShiftCodeC,
A.NormalN,
A.ActlWrkHrsN,
A.LatenessN,
A.UnderN,
A.OT10N,
A.OT15N,
A.OT20N,
A.OT30N,
A.SflatN,
A.ShiftAllN,
A.MealAllN,
A.TranAllN,
A.Oth1AllN,
A.Oth2AllN,
A.HealthAllN,
A.AttdAllN,
A.ReaCodeC,
A.SplReaCodeC,
Isnull(I.PayTypeC, '') PayType,
E.BasicSalaryN,
CASE
WHEN Datename(dw, A.ClockDateD)='Sunday' THEN
CASE
WHEN A.OT20N >4 THEN ((E.BasicSalaryN/(Substring(Cast(Eomonth ( A.ClockDateD ) AS VARCHAR(20)),9,2))/9)* (4+A.OT10N+A.OT20N+ A.OT30N))
ELSE ((E.BasicSalaryN /(Substring(Cast(Eomonth ( A.ClockDateD ) AS VARCHAR(20)),9,2) )/9)* (A.OT10N+A.OT15N+ A.OT20N+ A.OT30N))
END AS OT_Amnt,
CASE
WHEN A.OT20N >4 THEN ((E.BasicSalaryN/(SubString(CAST(EOMONTH ( A.ClockDateD ) AS VARCHAR(20)),9,2))/9)* (A.OT15N-4))
ELSE ('0.00')
END AS Insentive_Amnt
ELSE '0.00' OT_Amnt '0.00' Insentive_Amnt
END
FROM Daily A
INNER JOIN TMSStrt.DBO.Designation B
ON A.DesigCodeC = B.DesigCodeC
INNER JOIN TMSStrt.DBO.Department C
ON A.DeptCodeC = C.DeptCodeC
INNER JOIN TMSStrt.DBO.Section D
ON A.SecCodeC = D.SecCodeC
AND D.DeptCodeC = C.DeptCodeC
INNER JOIN StaffMaster E
ON A.EmpCodeC = E.EmpCodeC
LEFT JOIN TMSStrt.DBO.Reason I
ON A.ReaCodeC = I.ReasonCodeC
WHERE A.ClockDateD >= '01-07-2016'
AND A.ClockDateD <= '04-07-2016'
ORDER BY E.EmpNameC,
A.ClockDateD
【问题讨论】:
-
请修正您的格式。每个可见宽度一行代码,并缩进 4 个空格以使文本等宽。
-
发布大量文本并说它“显示错误”,但没有说明这些错误是什么,它们发生在哪一行,更重要的是,您实际尝试实现的目标不太可能征求积极的意见回复。按照已经要求格式化您的代码,确定导致错误的特定部分,描述您正在尝试做什么,然后有人可能会帮助您。
标签: sql-server