Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error during matching record - Urgent

Hassan R. KhanJun 23 2008 — edited Jun 25 2008

Hi All:

with below sample data
============================

GKEY	        EQ_NBR	        PERFORMED	       TSERV_ID
=================================================================
43593981	ECMU1715182	23-Jun-2008 2:04:56 PM	EXM
43593983	ECMU1715182	23-Jun-2008 2:13:53 PM	YARD SHIFT
43593984	ECMU1715182	23-Jun-2008 3:26:33 PM	YARD SHIFT
43593985	FCIU8043523	23-Jun-2008 3:47:15 PM	YARD SHIFT
43593987	FCIU8043523	23-Jun-2008 3:50:15 PM	EXM
43593989	FCIU8043523	23-Jun-2008 3:52:26 PM	YARD SHIFT




I want to display those records having YARD SHIFT after EXM
If there are more than one YARD SHIFT records THEN the very first YARD SHIFT after EXM 
should be display where se.performed BETWEEN trunc(sysdate-120/1440,'mi') 
                    AND trunc(sysdate,'mi')

I wrote following query:


select 
gkey, se.eq_nbr, se.performed, se.tserv_id
from service_events se
where se.performed BETWEEN trunc(sysdate-120/1440,'mi') 
                    AND trunc(sysdate,'mi')
  and se.tserv_id in ('YARD SHIFT')
  and exists (select 1 from service_events se1
                  where se1.tserv_id in ('EXM')
                    and se1.equse_gkey = se.equse_gkey
                    and se.performed > se1.performed
                    )
  and se.eq_nbr = 'ECMU1715182'

which display following result

GKEY	        EQ_NBR	        PERFORMED	       TSERV_ID
=================================================================
43593983	ECMU1715182	23-Jun-2008 2:13:53 PM	YARD SHIFT
43593984	ECMU1715182	23-Jun-2008 3:26:33 PM	YARD SHIFT

This is wrong, I need following record to be display
43593983	ECMU1715182	23-Jun-2008 2:13:53 PM	YARD SHIFT

No record should be display if performed does not exist between trunc(sysdate-120/1440,'mi')
AND trunc(sysdate,'mi')

Thanks

Hassan

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 23 2008
Added on Jun 23 2008
31 comments
1,198 views