Sql Server 2012 – LAG ve LEAD
Sql Server 2012 ile birlikte gelen bir diğer yenilik LEAD ve LAG fonksiyonlarıdır. Bu fonksiyonlar verilerimizi yan yan yana göstermek için kullanılabilir. Yani tabloyu kendi ile tekrar join yapmadan, bir önceki ve bir sonraki satırdaki değerlere ulaşmamızı sağlar. LAG ve LEAD fonksiyonlar haftalık,aylık,yıllık karşılaştırma yaparken kullanılabilir. Tabloyu kendi ile tekrar birleştirmemize (self join) gerek kalmayacağı için sorgu maliyeti de
azalacaktır.
[sql]
SELECT
BusinessEntityID,
Year(QuotaDate) AS SalesYear,
LAG(SalesQuota) OVER (ORDER BY YEAR(QuotaDate)) AS PreviousQuota,
SalesQuota AS CurrentQuata,
LEAD(SalesQuota) OVEr (ORDER BY YEAR(QuotaDate)) as NextQuota
FROM Sales.SalesPersonQuotaHistory
WHERE BusinessEntityID=280
[/sql]