From: | Guyren Howe <guyren(at)gmail(dot)com> |
---|---|
To: | PostgreSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Explanation of tree-generating query |
Date: | 2016-02-02 23:27:54 |
Message-ID: | 4149AB44-016F-40B3-A3E1-F61AD150A406@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I feel like I'm pretty decent with Postgres. But I saw the following query on the excellent Periscope blog. I've no idea how it works, and the various symbols involved are difficult to look up either with google or in the documentation. I believe the @ sign is probably ABS, but the <= clause in the consequent of a when-then is something I haven't seen before. I'm comfortable with the rest. Can someone explain how this works?
with
a as (
select *
from
generate_series(0, 3, 1)
)
, b as (
select *
from
generate_series(-3, 3, 1)
)
, tree as (
select a.generate_series as t
, b.generate_series as branch
from a, b
where
case when mod(a.generate_series, 2) = 1
then @ b.generate_series <= a.generate_series
and mod(@ b.generate_series, 2) = 1
else @ b.generate_series <= a.generate_series
and mod(@ b.generate_series, 2) = 0
end
)
From | Date | Subject | |
---|---|---|---|
Next Message | Dickson S. Guedes | 2016-02-02 23:47:18 | Re: MongoDB FDW Problem. |
Previous Message | Adrian Klaver | 2016-02-02 23:11:21 | Re: handling time series data |