Re: Join tables by nearest date? - Mailing list pgsql-general

From Sam Mason
Subject Re: Join tables by nearest date?
Date
Msg-id 20090728064933.GX5407@samason.me.uk
Whole thread Raw
In response to Join tables by nearest date?  (Nick <nboutelier@gmail.com>)
Responses Re: Join tables by nearest date?
List pgsql-general
On Mon, Jul 27, 2009 at 10:51:00PM -0700, Nick wrote:
> Is it possible to join two tables by the nearest date? For example how
> could I find out where the user was on their birthday?

DISTINCT ON[1] is normally the easiest way:

  SELECT DISTINCT ON (u.id) u.id, l.id, l.created
  FROM users u, users_locations l
  WHERE u.id        = l.user_id
    AND u.birthday <= l.created
  ORDER BY u.id, l.created

Untested, but hopefully gives enough hints about where to look!

--
  Sam  http://samason.me.uk/

 [1] http://www.postgresql.org/docs/current/static/sql-select.html#SQL-DISTINCT

pgsql-general by date:

Previous
From: "A. Kretschmer"
Date:
Subject: Re: Join tables by nearest date?
Next
From: "Albe Laurenz"
Date:
Subject: Re: C Function Question