pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sim Zacks <sim@compulab.co.il>
To: pgsql-sql@postgresql.org
Subject: join on next row
Date: Sun, 18 Jun 2006 13:14:33 +0200
Message-ID: <e7396t$18o8$1@news.hub.org> (raw)

I am having brain freeze right now and was hoping someone could help me 
with a (fairly) simple query.

I need to join on the next row in a similar table with specific criteria.

I have a table with events per employee.
I need to have a query that gives per employee each event and the event 
after it if it happened on the same day.

The Events table structure is:

EventID
Employee
EventDate
EventTime
EventType

I want my query resultset to be
Employee,EventDate(1),EventTime(1),EventType(1),EventTime(2),EventType(2)
Where Event(2) is the first event of the employee that took place after 
the other event.

Example
EventID	Employee	EventDate	EventTime	EventType
1	John		6/15/2006	7:00		A
2	Frank		6/15/2006	7:15		B
3	Frank		6/15/2006	7:17		C
4	John		6/15/2006	7:20		C
5	Frank		6/15/2006	7:25		D
6	John		6/16/2006	7:00		A
7	John		6/16/2006	8:30		R

Expected Results
John, 6/15/2006, 7:00, A, 7:20, C
Frank, 6/15/2006, 7:15, B, 7:17, C
Frank, 6/15/2006, 7:17, C, 7:25, D
John, 6/16/2006, 7:00, A, 8:30, R

To get this result set it would have to be an inner join on employee and 
date where the second event time is greater then the first. But I don't 
want the all of the records with a greater time, just the first event after.

Thank You
Sim



view thread (3+ messages)  latest in thread

Message-ID: <e7396t$18o8$1@news.hub.org>
Permalink:  ../e7396t$18o8$1@news.hub.org/
Also on:    postgresql.org/message-id/e7396t$18o8$1@news.hub.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: sim@compulab.co.il
  Subject: Re: join on next row
  In-Reply-To: <e7396t$18o8$1@news.hub.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox