I have a source table like,
Empno ename sal
------- ---------- ----------
7001 kumar 0
7499 allen 2000
7521 ward 1250
7654 martin 1250
7698 blake 2850
7782 clark 2450
7839 king 6000
7844 turner 1500
7900 james 950
7934 miller 2000
Now my target table should look like,
Empno ename sal prevsal
------- -------- ------ ----------
7001 kumar 0 null
7499 allen 2000 0
7521 ward 1250 2000
7654 martin 1250 1250
7698 blake 2850 1250
7782 clark 2450 2850
7839 king 6000 2450
7844 turner 1500 6000
7900 james 950 1500
7934 miller 2000 950
Solution:
Select
Emp.empno,
Emp.ename,
Emp.sal,
Lag(emp.sal,1) over(order by emp.sal) as prevsal
From
Emp
This will bring our desired output.
Thanks KK
ReplyDeletewe can achive this with informatica also..Here is the same
ReplyDeleteEmpno
ename
sal
V_count=V_count+1
V_salary=IIF(V_count=1,NULL,V_prev_salary)
V_prev_salary=sal
O_prev_salary=V_salary