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

Reg: SQL query


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

Active User


Joined: 25 Aug 2007
Posts: 235
Location: Chennai

PostPosted: Mon Sep 19, 2011 1:33 pm
Reply with quote

HI,

I have been using the following query to fetch all programs starting with YUGT.

Code:

SELECT A.NAME, HEX(CONTOKEN)                     
   FROM SYSIBM.SYSPACKAGE A                       
   WHERE NAME LIKE 'YUGT%' AND COLLID='YATCTTJH' 
   AND BINDTIME = (SELECT MAX(BINDTIME)           
   FROM SYSIBM.SYSPACKAGE B                       
   WHERE B.NAME=A.NAME                           
   AND COLLID='YATCTTJH')                         


It is working correctly.

But now i want to inlcude the program YUFU0000 in addition to YUGT* programs in the same query.

Kindly share your thoughts to achive this.

Thanks
R KARTHIK
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Sep 19, 2011 1:36 pm
Reply with quote

UNION ???
Back to top
View user's profile Send private message
Gnanas N

Active Member


Joined: 06 Sep 2007
Posts: 792
Location: Chennai, India

PostPosted: Mon Sep 19, 2011 1:42 pm
Reply with quote

Code:
SELECT A.NAME, HEX(CONTOKEN)                     
   FROM SYSIBM.SYSPACKAGE A                       
   WHERE (NAME LIKE 'YUGT%' OR NAME = 'YUFU0000') AND COLLID='YATCTTJH' 
   AND BINDTIME = (SELECT MAX(BINDTIME)           
   FROM SYSIBM.SYSPACKAGE B                       
   WHERE B.NAME=A.NAME                           
   AND COLLID='YATCTTJH') 


Hope it will work. But not sure that this one is an optimized way.. Sorry.
Back to top
View user's profile Send private message
karthikr44

Active User


Joined: 25 Aug 2007
Posts: 235
Location: Chennai

PostPosted: Mon Sep 19, 2011 3:20 pm
Reply with quote

Hi Gnana Sekaran,

Before i post i actually tried the following code. But i got erroneous output. Same rows came multiple times. (may be due to join). Instead of expected 60 rows i got 853 rows.

Code:

SELECT A.NAME, HEX(CONTOKEN)                     
   FROM SYSIBM.SYSPACKAGE A                       
   WHERE NAME LIKE 'YUGT%' OR NAME = 'YUFU0000' AND COLLID='YATCTTJH' 
   AND BINDTIME = (SELECT MAX(BINDTIME)           
   FROM SYSIBM.SYSPACKAGE B                       
   WHERE B.NAME=A.NAME                           
   AND COLLID='YATCTTJH')


But when i put bracket like your code i get correct result.

Code:

WHERE (NAME LIKE 'YUGT%' OR NAME = 'YUFU0000') AND


Thanks
R KARTHIK
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 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
No new posts Issue with EXEC CICS QUERY SECURITY c... CICS 6
Search our Forums:

Back to Top