W dniu 24.10.2015 o 21:03, Rafal Pietrak pisze:
>
>
> W dniu 24.10.2015 o 15:00, David G. Johnston pisze:
>> On Sat, Oct 24, 2015 at 6:41 AM, Rafal Pietrak <rafal@ztk-rp.eu
>> <mailto:rafal@ztk-rp.eu>>wrote:
> [----------------------]
>>
>> Using explicit column names is expected - using "*" in non-trivial and
>> production queries is not.
>>
>> You can move the aliases if you would like.
>>
>> SELECT *
>> FROM tablea (col1, col2, col4)
>> JOIN tableb AS tb1 (col1, col3, col5) USING (col1)
>> JOIN tableb AS tb2
>>
>> (col1, col6, col7) USING (col1)
>
> I knew there must have been something like this.
Upss. Almost, but not quite. I've just read the manual on that
(http://www.postgresql.org/docs/9.4/static/queries-table-expressions.html)
and it looks like "col1", "col2", etc in the above example are column
*aliases*. Right?
So I have to list *all* the columns of the aliased table irrespectively
if I need any of them within the output, or not.
It's a pity standard didn't choose to make column aliasing optional,
allowing for cherry pick what's aliased like following:
.. JOIN table AS tb(column7 [as alias1], column3 [as alias2],...)
thenx anyway, "Mandatory" column aliasing is helpfull too.
-R