Re: difficult query

Поиск
Список
Период
Сортировка
Искать
От
Joel Burton
Тема
Re: difficult query
Дата
в 02:19:42
Msg-id
JGEPJNMCKODMDHGOBKDNOENICMAA.joel@joelburton.com
Ответ на
Re: difficult query (Ian Barwick)
Список
Дерево обсуждения
difficult query Jakub Ouhrabka <jouh8664@ss1000.ms.mff.cuni.cz>
Re: difficult query Ian Barwick <barwick@gmx.net>

> > I'm curious. I've been on a sql course long time ago where the tutor
> > mentioned similiar problem as something special for sql smarties...  And
> > yesterday when I faced this problem (which can be solved perfectly with
> > the outer join) I wasn't able to remember the solution... If there is
> > any...  Just out of curiosity...
>
> well, you could do it like this I suppose:
>
> SELECT 1 AS day, COUNT(data) FROM table1 WHERE day=1
>  UNION
> SELECT 2, COUNT(data) FROM table1 WHERE day=2
>  UNION
> SELECT 3, COUNT(data) FROM table1 WHERE day=3
>  UNION
> SELECT 4, COUNT(data) FROM table1 WHERE day=4
>
> (and so on ad infinitum)
>
> although I expect E.F. Codd will be turning in his grave ;-)

A little better, perhaps, but still a true hack:

select alldays.d, sum(c) from (select 1 as d union all  select 2 union all  select 3 union all  select 4 union all  select 5 ...) as alldays
left outer join d  using (d) group by alldays.d;

If you could write a function in plpgsql that returned a query result, you
could use that as the from clause rather than the long union.


В списке pgsql-sql по дате отправления
От: Tom Lane
Дата:
Сообщение: Re: More long-string woes
От: Tom Lane
Дата:
Сообщение: Re: More long-string woes
FAQ