您好我有一個有趣的問題。我有一個僱員表如下比較連續3個表中的行
CREATE TABLE EMPLOYEE(
EMPLOYEE_ID INTEGER,
SALARY DECIMAL(18,2),
PAY_PERIOD DATE)
現在表有員工有些人得到按月支付,有的每週,每兩週一些和日常一些。我們想要的是如果連續三個薪酬週期的薪水相等,則找到一個指標'Y'。讓我們看看下面的例子。
Employee Pay_Period Salary
1 01/01/2012 $500
1 08/01/2012 $200
1 15/01/2012 $200
1 22/01/2012 $200
1 29/01/2012 $700
在這種情況下,指數應該是因爲連續3周支付期爲200 $工資。
由於支付期數不是恆定的,我不確定如何編寫此代碼,因爲我之前不知道需要多少左連接。由於我正在Teradata中編寫此代碼,因此我嘗試使用RECURSIVE功能,但難住。任何有關如何進行此操作的一般想法?我寧願不創建存儲過程或使用PL/SQL邏輯。
在Oracle中,這將是一個LAG在Oracle中功能 – Randy
,你根本就不會被支付。這是Larry()函數。 – wildplasser