IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

SQL Query to achieve control break in result set


IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
prasun dhara

New User


Joined: 01 Mar 2008
Posts: 49
Location: kolkata

PostPosted: Tue May 24, 2011 12:43 pm
Reply with quote

Hi ,

I have a requirement like below :
Table A
Emp Id Role
1001 x
1001 y
1001 z
1002 c
1002 x
1003 a

I have to write a SQL query on this table to get a result like below

Counter Emp id Role
1 1001 x
2 1001 y
3 1001 z
1 1002 c
2 1002 x
1 1003 a


So I have to add a counter filed in the result set which will increament by one if the Emp id is same with previous one and the counter will re-set if the emp id changes.

Please note I have to do this by SQL query only and I am not allowed to write any COBOL logic

Thanks
Prasun
Back to top
View user's profile Send private message
GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Tue May 24, 2011 4:48 pm
Reply with quote

homework!?
I suggest you look up OLAP-function in a SQL-book.
=> row_number() & partition by
Back to top
View user's profile Send private message
prasun dhara

New User


Joined: 01 Mar 2008
Posts: 49
Location: kolkata

PostPosted: Tue May 24, 2011 5:21 pm
Reply with quote

It's Not home work. It's a project work icon_biggrin.gif

I found a query with
"row_number() & partition by" nut not working


Are these (row_number() & partition by) supported for Db2 zOS v8 ?

This is part of a performance tuning project. we have to implement this logic in SPUFI instead of COBOL

Thanks for your help
Back to top
View user's profile Send private message
Pjoe

New User


Joined: 22 Jul 2005
Posts: 17

PostPosted: Tue May 24, 2011 7:04 pm
Reply with quote

row_number is not available in DB2 v8 for z /os.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Tue May 24, 2011 7:06 pm
Reply with quote

why do you need these sequence numbers?
Back to top
View user's profile Send private message
GuyC

Senior Member


Joined: 11 Aug 2009
Posts: 1281
Location: Belgium

PostPosted: Tue May 24, 2011 7:32 pm
Reply with quote

trust me, implementing these sequence number in an sql pre v9 isn't performant :
Code:
SELECT
   (SELECT COUNT(*)
     FROM TableA s2
    WHERE s2.emp_id = s1.emp_id
      and s2.role <= s1.role) AS counter
   ,emp_id
   ,role
FROM TableA s1
ORDER BY s1.emp_id,role
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2

 


Similar Topics
Topic Forum Replies
No new posts RC query -Time column CA Products 3
No new posts Using Dynamic file handler in the Fil... COBOL Programming 2
No new posts Dynamically pass table name to a sele... DB2 2
No new posts Query on edit primary command CLIST & REXX 5
No new posts Query on edit primary command CLIST & REXX 1
Search our Forums:

Back to Top