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
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