1
我正在嘗試執行審計,將當天的實際匯率與當天應支付的歷史匯率進行比較。與交易日期有效最近的比較歷史記錄
我創建了一個臨時表來獲取歷史記錄所需的信息,並將其命名爲PPDAUDIT。這裏是審計SQL
SELECT EMPLOYEE, PAY_SUM_GRP, HOURS, RATE, TR_DATE, DATE, CORRECT_RATE
FROM
(
SELECT A.EMPLOYEE
, A.PAY_SUM_GRP
, A.HOURS
, A.RATE
, A.TR_DATE
, A.DATE
, CASE
WHEN (MAX((B.BEG_DATE) < A.TR_DATE))
AND B.FLD_NBR = '730'
THEN B.N_VALUE/C.ANNUAL_HOURS
END AS 'CORRECT_RATE'
FROM `PPDAUDIT` AS A
INNER JOIN `[dbo]_[hrhistory]` AS B ON B.EMPLOYEE = A.EMPLOYEE
INNER JOIN `[dbo]_[employee]` AS C ON C.EMPLOYEE = A.EMPLOYEE
WHERE A.RATE <> (B.N_VALUE/C.ANNUAL_HOURS)
) AS D
WHERE CORRECT_RATE IS NOT NULL
我有望拿到了歷史紀錄不到,但最近交易的日期,然後只得到那些人的歷史和過渡極不相稱。它拉的是第二近的。
示例:如果事務發生在2012年1月1日,並且2011年12月31日,2011年10月和2011年7月24日有歷史記錄,則會在10/10而不是需要的12/31。
您使用的是哪個數據庫? (SqlServer/MySQL/Oracle/...) – Andomar
我正在使用MSSQL – Lacey
和哪個版本? (.../2005/2008/2012) – Andomar