2015-12-21 62 views
0
SELECT Student_Number, 
DATEPART("yyyy", Starting_Date) AS Starting_Year, 
DATEPART("yyyy",Ending_Date) AS Ending_Year 
FROM PGME 
WHERE ID = 1 

顯示如下一個MS Access查詢增量比較

Student_Number Starting_Year Ending_Year 
003329497   1994   1999 

時有沒有什麼辦法,我可以用 「Starting_Date」 和 「ENDING_DATE」 比較,如果 「Starting_Date」 < 「Ending_Year」 時, 「Starting_Year」將增加一個是

Student_Number Starting_Year Ending_Year 
003329497   1994   1999 
003329497   1995   1999 
003329497   1996   1999 
003329497   1997   1999 
003329497   1998   1999 

回答

0
WHERE 
    DatePart('yyyy', Starting_Date) BETWEEN 1994 AND 1998 AND 
    DatePart('yyyy', Ending_Date) = 1999 

...將自動包括一切工作的出發從1994年到1998年的幾年。沒有必要增加任何東西。

如果查詢產生重複年份,則使用DISTINCT或GROUP BY子句。該查詢不會補充缺失的年份。


如果要修改現有記錄,進行更新查詢:

UPDATE PGME 
SET Starting_Date = DateAdd('yyyy', 1, Starting_Date) 
WHERE DatePart('yyyy', Starting_Date) < DatePart('yyyy', Ending_Date) 

(我不知道你在問什麼)