| От | Tom Lane |
|---|---|
| Тема | Re: Column Alias Not Allowed In Grouping Function |
| Дата | |
| Msg-id | 1408578.1660678378@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Column Alias Not Allowed In Grouping Function (Vivek Suraiya <vivek_suraiya@yahoo.com>) |
| Список | pgsql-www |
Vivek Suraiya <vivek_suraiya@yahoo.com> writes:
> SELECT cust_name c , sales_person_name s , SUM(sale_amt) , GROUPING(c , s) grpFROM SALESGROUP BY CUBE(c,s)ORDER BY
grp;
> will fail.
Yup.
> Why is it illegal to use the column aliases in the GROUPING function?
Because the inputs to GROUPING are (notionally, at least) computed before
the SELECT targetlist is.
I'm aware that we allow things like "SELECT x ... GROUP BY 1", but
that's a holdover from SQL92 that's not even legal per SQL99 and
later standards. We're not going to try to extend that into
modern constructs like GROUPING(); it would create a morass of
ambiguity.
regards, tom lane
В списке pgsql-www по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера