Re: [GENERAL] Simple Question, hard answer

From: "Jonathan A(dot) Zdziarski" <jonz(at)netrail(dot)net>
To: Matthew <matt(at)ctlno(dot)com>
Cc: Postgres-General <pgsql-general(at)postgreSQL(dot)org>
Subject: Re: [GENERAL] Simple Question, hard answer
Date: 1999-03-18 17:58:56
Message-ID: Pine.BSI.4.05L.9903181258550.8778-100000@cartman.netrail.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

done
On Thu, 18 Mar 1999, Matthew wrote:

> Is there an easier way to do this?
>
> I have a document table, and a keyword table, there is a many to many
> relation ship between the two via a link table. What I want to do is
> select all the documents that have two or more keywords. That is select
> .... where keywords.keyword = 'foo1' and keywords.keyword = 'foo2'; The
> problem is that after joining the document table to the link table to
> the keywords table there is no row that satisfies the criteria. This
> seems like something that would have to be done a lot so I'm wondering
> if there is a simple way to do it. We have accomplished it with the
> following SQL statement
>
> select documents.docid, count(documents.docid) as docidcount,
> keywords.keyword from documents, link, keywords where (documents.docid =
> link.docid and keywords.keyid = link.keyid) and (keyword = 'foo1' or
> keyword = 'foo2' ) group by docid having docidcount > 2;
>
> Is there a more efficient way to execute this query? Sub selects or
> something?
>
> Thanks,
>
>
>

Thank you,

Jonathan A. Zdziarski
Sr. Systems Administrator
Netrail, inc.
888.NET.RAIL x240

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jonathan A. Zdziarski 1999-03-18 18:00:28 Changing Field Types
Previous Message Matthew 1999-03-18 17:49:13 Simple Question, hard answer