From: | Andrew Perrin <andrew_perrin(at)unc(dot)edu> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Telling how many records are joined |
Date: | 2002-01-04 16:29:37 |
Message-ID: | Pine.LNX.4.21L1.0201041123310.749-100000@nujoma.perrins |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Greetings-
I'm sure there's a (moderately) simple answer to this, but I'd love some
help with it.
I have a database with four tables:
papers - information about newspapers, including a unique paperid
letters - information and text of letters to the editors, including
a unique paperid and the paperid in which it appeared
patterns- word patterns occurring in one or more letters, including
a unique patternid
pattern_occurrences - a linking table containing a letterid, a patternid,
and a count (the number of times the pattern occurs
in the letter).
The patterns and pattern_occurrences tables are quite large (around 3
million records each).
I'd like to know, for example, how many letters from each paper have one
or more patterns already coded. The best I can do is:
SELECT papercode, count(papercode) FROM papers, letters
WHERE papers.paperid=letters.paperid AND
letters.letterid IN (SELECT DISTINCT o_letterid FROM pattern_occurrences)
GROUP BY papercode;
Thanks for any advice.
----------------------------------------------------------------------
Andrew J Perrin - andrew_perrin(at)unc(dot)edu - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
269 Hamilton Hall, CB#3210, Chapel Hill, NC 27599-3210 USA
From | Date | Subject | |
---|---|---|---|
Next Message | Frank Bax | 2002-01-04 17:10:00 | simple? join |
Previous Message | Masaru Sugawara | 2002-01-04 15:18:46 | Re: left join and where |