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.