[prev in list] [next in list] [prev in thread] [next in thread]
List: postgresql-sql
Subject: Re: [SQL] join table with itself?
From: T E Schmitz <mailreg () numerixtechnology ! de>
Date: 2007-03-15 18:54:45
Message-ID: 45F99675.5050801 () numerixtechnology ! de
[Download RAW message or body]
William Leite Araújo wrote:
> On 15/03/07, *T E Schmitz* <mailreg@numerixtechnology.de
> <mailto:mailreg@numerixtechnology.de>> wrote:
> (...)
>
> Try join the tables.
>
> SELECT present.day, present.low, (MIN(future.day)-present.day) as
>
> days2fall FROM history AS present JOIN history AS future ON (
> present.day < future.day AND
> future.low <= present.low )
> GROUP BY present.day,present.low
> ORDER BY days2fall DESC
That produces the same result as my previous example but maybe the join
is more efficient, Thank you for the suggestion.
However, I am still stuck as to how to retrieve HIGHEST. The result set
produced by the above query only contains those tuples whose LOW is
lower than present.LOW.
For HIGHEST, I need to look at the rows between present.day and DAYS2FALL:
something like
SELECT MAX (high) from history WHERE day >= present.day AND day <
(present.day + days2fall)
-
Regards,
Tarlika Elisabeth Schmitz
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic