Re: error with Subquery

Поиск
Список
Период
Сортировка
От Ragnar
Тема Re: error with Subquery
Дата
Msg-id 1165578761.379.95.camel@localhost.localdomain
обсуждение исходный текст
Ответ на error with Subquery  (Max Bondaruk <maxim.bondaruk@gmail.com>)
Список pgsql-general
On fös, 2006-12-08 at 13:58 +0300, Max Bondaruk wrote:
> Hi!
>
> error with Subquery alias...

> SELECT *,(SELECT COUNT(id)
> FROM articles a WHERE a.lft < articles.lft AND a.rgt > articles.rgt) AS depth
> FROM articles
> where (depth < 3)
> ORDER BY lft

you cannot refer to depth in the where because it is not
an attribute of the table in the FROM list.

it may be more obvious if we replace the subquery with a constant:
SELECT *, 999 as depth
  FROM articles
  WHERE (depth < 3)

however you should be able to do
SELECT * FROM
  ( SELECT *,
           (SELECT COUNT(id) FROM articles a
              WHERE a.lft < articles.lft
              AND a.rgt > articles.rgt
           ) AS depth
    FROM articles
  ) AS foo
WHERE  (depth < 3)
ORDER BY lft

gnari



В списке pgsql-general по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: porting time calcs to PG
Следующее
От: "Raymond O'Donnell"
Дата:
Сообщение: Re: