Re: BUG #1540: Enhancement request: 'ambiguous' column reference in psql

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #1540: Enhancement request: 'ambiguous' column reference in psql
Дата
Msg-id 4912.1110776797@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #1540: Enhancement request: 'ambiguous' column reference in psql  ("Richard Neill" <postgresql@richardneill.org>)
Ответы Re: BUG #1540: Enhancement request: 'ambiguous' column reference  (Richard Neill <rn214@hermes.cam.ac.uk>)
Список pgsql-bugs
"Richard Neill" <postgresql@richardneill.org> writes:
> SELECT instrument,priceband,pounds FROM tbl_instruments,tbl_prices WHERE
> tbl_instruments.priceband=tbl_prices.priceband;

> ERROR:  column reference "priceband" is ambiguous

> I think that the first query ought to succeed, since although priceband is
> ambiguous (it could mean either tbl_prices.priceband or
> tbl_instruments.priceband), the information in the WHERE clause means that
> they are explicitly equal, and so it doesn't matter which one we use.

Doing that would be contrary to the SQL specification, AFAICS.

However, you can get the effect you want by writing the query like

SELECT instrument,priceband,pounds FROM
tbl_instruments JOIN tbl_prices USING (priceband);

which both provides the join condition and logically merges the two
input columns into just one output column.

            regards, tom lane

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

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: BUG #1537: alter table statement
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #1539: Suggestion