Hi,
If you are already on release V5R4, you may use the OLAP-Ranking function
DENSE_RANK.
Select FiscYear, CtlGrp, SrcCode,
Dense_Rank() Over(Order By FiscYear, CtlGrp, SrcCode) as SEQ
From YourTable
Order By FiscYear, CtlGrp, SrcCode
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Jeff Young
Gesendet: Friday, May 02, 2008 18:00
An: midrange-l@xxxxxxxxxxxx
Betreff: Another SQL Question
Given the following data:
FISCAL CONTROL SOURCE SEQ
YEAR GROUP CODE #
2,007 1 AP 0
2,007 1 AP 0
2,007 1 AP 0
2,007 1 JE 0
2,007 1 JE 0
2,007 1 JE 0
2,007 1 CS 0
2,007 1 CS 0
2,007 1 CS 0
2,007 1 CS 0
2,007 1 CS 0
2,007 2 JE 0
2,007 2 JE 0
2,007 2 JE 0
2,007 2 AP 0
2,007 2 AP 0
2,007 2 AP 0
2,007 2 AP 0
2,007 2 AP 0
Is there any method using dynamic SQL (no user defined functions or any
other type of sql program), to set a sequence number so that when Year,
Control Group or Source Code change, the value will be incremented by 1
starting at 1? I have tried the Row_Number() Over function, but have not
been able to get it to do what I want.
The desired result would be:
FISCAL CONTROL SOURCE SEQ
YEAR GROUP CODE #
2,007 1 AP 1
2,007 1 AP 1
2,007 1 AP 1
2,007 1 JE 2
2,007 1 JE 2
2,007 1 JE 2
2,007 1 CS 3
2,007 1 CS 3
2,007 1 CS 3
2,007 1 CS 3
2,007 1 CS 3
2,007 2 JE 4
2,007 2 JE 4
2,007 2 JE 4
2,007 2 AP 5
2,007 2 AP 5
2,007 2 AP 5
2,007 2 AP 5
2,007 2 AP 5
......
Thanks,
Jeff Young
Sr. Programmer Analyst
IBM -e(logo) server Certified Systems Exper - iSeries Technical Solutions
V5R2
IBM Certified Specialist- e(logo) server i5Series Technical Solutions
Designer V5R3 IBM Certified Specialist- e(logo)server i5Series Technical
Solutions Implementer V5R3
As an Amazon Associate we earn from qualifying purchases.