From: | Richard Broersma <richard(dot)broersma(at)gmail(dot)com> |
---|---|
To: | m(dot)diener(at)gomogi(dot)com |
Cc: | pgsql-novice(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: [NOVICE] sum multiple tables gives wrong answer? |
Date: | 2010-06-02 15:38:36 |
Message-ID: | AANLkTilP3NY7_Tvr9xP8dV204E7t55nNfnL1hjnaF8In@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-novice |
On Wed, Jun 2, 2010 at 7:23 AM, Michael Diener <m(dot)diener(at)gomogi(dot)com> wrote:
> select sum(flaeche)/10000 as "greens HA" from green;
> result:
> Wrong Answer with this query
>
> select
> sum(green.flaeche)/10000 as "greens HA",
> sum (fairway.flaeche)/10000 as "fairway HA"
> from green, fairway;
It isn't easy to see but you are effectively joining green to fairway
using a cross project which product a Cartesian product.
you probably wanted this query:
SELECT (select sum(flaeche)/10000 from green) AS "greens HA",
(select sum(flaeche)/10000 from fairway) AS "fairway HA";
However, from what you've shown. I would wager that your database is
in need of some normalization. For example you could put both greens
and fair way into a single table like:
CREATE TABLE Lawns AS
SELECT flaech, "green"::VARCHAR AS lawntype
FROM green
UNION ALL
SELECT flaech, "fairway"::VARCHAR AS lawntype
FROM fairway;
Then you'd execute the following query:
SELECT lawntype, sum(flaech)/10000 AS "HA"
FROM Lawns
GROUP BY lawntype;
--
Regards,
Richard Broersma Jr.
Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug
From | Date | Subject | |
---|---|---|---|
Next Message | Tim Landscheidt | 2010-06-02 15:42:26 | Re: Is it possible to make the order of output the same as the order of input parameters? |
Previous Message | Thom Brown | 2010-06-02 15:32:31 | Re: [NOVICE] sum multiple tables gives wrong answer? |
From | Date | Subject | |
---|---|---|---|
Next Message | Oliveiros | 2010-06-02 15:44:09 | Re: [NOVICE] sum multiple tables gives wrong answer? |
Previous Message | Thomas Kellerer | 2010-06-02 15:35:21 | Re: sum multiple tables gives wrong answer? |