![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
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. |
#2
| |||
| |||
|
|
"Richard Neill" <postgresql (AT) richardneill (DOT) 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 |
![]() |
| Thread Tools | |
| Display Modes | |
| |