SELECT DISTINCT ON ( B.book_id, B.title ) B.book_id, B.title, A.Author
      FROM Books AS B
INNER JOIN Authors AS A
        ON A.book_id = B.book_id;


--- On Mon, 12/31/07, Josh <[EMAIL PROTECTED]> wrote:

> From: Josh <[EMAIL PROTECTED]>
> Subject: [SQL] Limit # of recs on inner join?
> To: pgsql-sql@postgresql.org
> Date: Monday, December 31, 2007, 10:52 AM
> I want to limit the number of records returned by an inner
> join.
> 
> Suppose I have a table of Books:
> 
> book_id
> title
> 
> And, a table of authors:
> 
> book_id
> author_name
> 
> Now, suppose I want to get book + author, but I only want
> one author for 
> books with multiple authors.  Traditionally, I'd do
> something like:
> 
> select books.book_id, books.title, authors.author_name
> from books
> inner join authors on authors.book_id = books.book_id
> where books.book_id = ?
> 
> This might return:
> 
> 1     A Cat In The Hat        Dr. Seuss
> 1     A Cat In The Hat        Dr. Seuss' Partner
> 
> Instead, I just want:
> 
> 1     A Cat In The Hat        Dr. Seuss
> 
> How can I limit the inner join?
> 
> Cheers,
> -J
> 
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: don't forget to increase your free space map
> settings

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to