Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable
Дата
Msg-id 24263.1240625980@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable  (Daniel Grace <dgrace@wingsnw.com>)
Список pgsql-bugs
I wrote:
> I'm talking about the underlined SELECT, not the one inside the
> aggregate.  AFAICS this one is totally useless.

Oh, wait.  It is useless in the query as written, but now that I think
twice about what you're trying to accomplish, you do need three levels
of SELECT keywords.  Just not like that.  I think what you actually
want is

SELECT
    ...
    (SELECT GROUP_CONCAT(t.fname, '; ') FROM
      (SELECT s2.fname FROM student AS s2
       WHERE s2.id=s.id ORDER BY fname) AS t) AS students,
    ...
FROM
    student AS s

What you wrote instead is just wrong --- it would fail if there were
multiple students with the same id (can that actually happen?
Maybe there's more wrong with this query...), because what you
wrote is a scalar sub-SELECT inside an aggregate call that belongs
to the outermost query.

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable
Следующее
От: Daniel Grace
Дата:
Сообщение: Re: Query with aggregate over subselects fails with ERROR: plan should not reference subplan's variable