Test Answers
Test Answers
;WITH CTE AS
(
SELECT BusinessEntityID ,SalesYear ,CurrentQuota
, ROW_NUMBER() OVER (ORDER BY BusinessEntityID ) AS ID
FROM lag
)
SELECT c.BusinessEntityID ,c.SalesYear , c.CurrentQuota
, ISNULL((SELECT TOP 1 d.CurrentQuota FROM CTE d WHERE c.ID > d.ID ORDER BY ID DESC ),0)
lagCurrentData
FROM CTE c
;WITH CTE AS
(
SELECT BusinessEntityID ,SalesYear ,CurrentQuota ,ROW_NUMBER()OVER (ORDER BY
BusinessEntityID )AS ID
FROM lag
)
SELECT c.Id ,c.BusinessEntityID ,c.SalesYear , c.CurrentQuota,ISNULL(d.CurrentQuota,0)
lagCurrentData
FROM CTE c LEFT OUTER JOIN CTE d ON c.ID =(d.ID+1)
2) Solution:
4) Solution:
SELECT p.partid,d.idate, COUNT(o.idate) Counts FROM parts p cross join dates d left
join orders1 o ON d.idate = o.idate and p.partid = o.partid
GROUP BY p.partid, d.idate ORDER BY 1
/************ SOLUTION 2 | Pawan Kumar Khowal ****************/
SELECT p.partid, d.idate,COUNT(o.partid) OVER (PARTITION BY o.partid , o.idate ORDER BY
(SELECT NULL)) counts FROM orders1 o
FULL OUTER JOIN Dates d CROSS JOIN parts p ON d.idate = o.idate AND p.partid = o.partid
ORDER BY p.partid
5)Solution: