Re: Docs claim that "select myTable.*" wildcard won't let you assign column names
От | Amir Rohan |
---|---|
Тема | Re: Docs claim that "select myTable.*" wildcard won't let you assign column names |
Дата | |
Msg-id | trinity-ff5523c7-87b0-4409-ab20-83a3b5b172f8-1442883892582@3capp-mailcom-lxa13 обсуждение исходный текст |
Ответ на | Re: Docs claim that "select myTable.*" wildcard won't let you assign column names ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: Docs claim that "select myTable.*" wildcard won't let you
assign column names
Re: Docs claim that "select myTable.*" wildcard won't let you assign column names |
Список | pgsql-docs |
On Monday, September 21, 2015, Amir Rohan <amir.rohan@mail.com> wrote: >> From http://www.postgresql.org/docs/9.4/static/sql-select.html[http://www.postgresql.org/docs/9.4/static/sql->> select.html](and previous version too): >> >> ##SELECT List >> >> <...> >> Instead of an expression, * can be written in the output list as a shorthand for all the columns of the >> selected rows. >> Also, you can write table_name.* as a shorthand for the columns coming from just that table. In these >> cases it is not possible to specify new names with AS; the output column names will be the same as the >> table columns' names. >> >> But, the docs elsewhere feature a query example show the use of a wildcard for columns >> as well as allowing you to assign names to as many of the leading columns as you wish: >> >> >> WITH T0 as ( SELECT 1,2,3 ) >> SELECT T0.* from T0 as T0(foo,bar) ;<...> On Monday, September 21, 2015, David G. Johnston wrote: > Neither of those examples is: > > SELECT * AS "how would one alias this?" FROM table > > So what's your point? My point is that "In these cases it is not possible to specify new names with AS" is misleading because it *is* possible and useful, but requires syntax which isn't clearly shown (if at all) where I'd expect it. I think that could be improved. > Obviously you can alias stuff before it makes its way into a select-list that refers to it using * "obvious" to whom? probably not to someone who's level of SQL mastery has brought him/her to reading the exciting "SELECT" documentation. I do see your point though, in the grammar the "AS" in my example belongs not to `output_name ` but to `from_item`. So this syntax is hidden away behind the `column_alias` production. > In this case the FROM clause is what is being aliased. It is documented though I'd need to look to > identify the specific location. This belongs in the page describing SELECT, and though I've looked I haven't found it. If I'm wrong ( I did look again just now), please correct me. Amir
В списке pgsql-docs по дате отправления: