Thread: Using Aliases in Select
I join 2 tables that both have a row "mytext". I want to use both text fields in the select (projection) clause, giving alias names to them. select tab1.name, tab1.mytext text1, tab2.mytext text2 from tab1, tab2 where tab1.tab1_id = tab2.tab1_id but ... ERROR: Column 'mytext' is ambiguous Is there a solution to this ? -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Christian Rudow E-Mail: Christian.Rudow@thinx.ch ThinX networked business services Stahlrain 10, CH-5200 Brugg ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I'll take a stab at this one: Try: select tab1.name, tab1.mytext as text1, tab2.mytext as text2 from tab1, tab2 where tab1.tab1_id = tab2.tab1_id I believe that this will fix it. Andy On Mon, 2 Aug 1999, Christian Rudow wrote: > I join 2 tables that both have a row "mytext". > I want to use both text fields in the select (projection) clause, giving > alias names to them. > > select tab1.name, tab1.mytext text1, tab2.mytext text2 > from tab1, tab2 > where tab1.tab1_id = tab2.tab1_id > > but ... > > ERROR: Column 'mytext' is ambiguous > > Is there a solution to this ? > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Christian Rudow E-Mail: Christian.Rudow@thinx.ch > ThinX networked business services Stahlrain 10, CH-5200 Brugg > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >
Christian Rudow <Christian.Rudow@thinx.ch> writes: > select tab1.name, tab1.mytext text1, tab2.mytext text2 > from tab1, tab2 > where tab1.tab1_id = tab2.tab1_id > ERROR: Column 'mytext' is ambiguous As Oleg points out, you need to write AS text1 and so forth. The AS is not optional when labeling output columns, even though you are allowed to leave it out in the FROM list. But I am wondering about the error message --- all the Postgres versions that I have sayERROR: parser: parse error at or near "text1" which may not be too helpful but at least it's not outright misleading. What version are you using? regards, tom lane
Andy Lewis wrote: > select tab1.name, tab1.mytext as text1, tab2.mytext as text2 > from tab1, tab2 where tab1.tab1_id = tab2.tab1_id > > I believe that this will fix it. > > Andy Yes it does. My knowledge of SQL all comes from working with Informix databases. ThanX a lot ! -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Christian Rudow E-Mail: Christian.Rudow@thinx.ch ThinX networked business services Stahlrain 10, CH-5200 Brugg ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~