Re: Getting the count(*) from two tables and two date ranges in same query - Mailing list pgsql-general

From Tom Lane
Subject Re: Getting the count(*) from two tables and two date ranges in same query
Date
Msg-id 14318.1201714556@sss.pgh.pa.us
Whole thread Raw
In response to Re: Getting the count(*) from two tables and two date ranges in same query  (Håkan Jacobsson <hakan.jacobsson@relevanttraffic.com>)
List pgsql-general
=?iso-8859-1?Q?H=E5kan_Jacobsson?= <hakan.jacobsson@relevanttraffic.com> writes:
> I just realised that issuing the SQL on one table produces the correct count.

> SELECT sum(case when table2.date between '2007-07-13' and '2007-07-13' then 1 else 0
> end) as sumx FROM table2 WHERE id = n;

> This is working alright.
> So the problem should lie in the last part:

> from table2, table3
> where table2.id = table3.id
> and table2.id = n;

It sounds like there are multiple rows in table3 matching the id of (at
least some of) the rows in table2.  You'll get an increment to the sum
for each join pair.

            regards, tom lane

pgsql-general by date:

Previous
From: Erik Jones
Date:
Subject: Re: PGCon vs Postgresql Conference
Next
From: Tom Lane
Date:
Subject: Re: postgresql book - practical or something newer?