Re: [GENERAL] Simple Question, hard answer
От | Jonathan A. Zdziarski |
---|---|
Тема | Re: [GENERAL] Simple Question, hard answer |
Дата | |
Msg-id | Pine.BSI.4.05L.9903181258550.8778-100000@cartman.netrail.net обсуждение исходный текст |
Ответ на | Simple Question, hard answer (Matthew <matt@ctlno.com>) |
Ответы |
Re: [GENERAL] Simple Question, hard answer
|
Список | 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
В списке pgsql-general по дате отправления: