Re: left outer join fails because "column .. does not exist in left table?"

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Rick(dot)Casey(at)colorado(dot)edu, pgsql-general(at)postgresql(dot)org
Subject: Re: left outer join fails because "column .. does not exist in left table?"
Date: 2010-07-01 00:16:29
Message-ID: AANLkTikB8i29Vwf1WTduHdkO1C5KfUfYhqMp5gPuJZgn@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Jun 30, 2010 at 8:05 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Rick(dot)Casey(at)colorado(dot)edu writes:
>> SELECT S.subjectid,STY.studyabrv,labID,boxnumber,wellrow,wellcolumn
>> FROM DNASample D, IBG_Studies STY, Subjects S, ibg_projects P
>>   LEFT OUTER JOIN ibg_ps_join IPJ USING (dnasampleid)
>> WHERE
>>       D.subjectidkey=S.id
>>       AND STY.studyindex=D.studyindex
>>       AND IPJ.projects_index=P.ibg_projects_index
>> ORDER BY studyabrv,boxnumber,wellcolumn,wellrow
>> ERROR:  column "dnasampleid" specified in USING clause does not exist in
>> left table
>
>> I am rather mystified by this, since this field is definitely in the
>> dnasample table, as the primary key.
>
> It appears you're used to mysql, which processes commas and JOINs
> left-to-right (more or less, I've never bothered to figure out their
> behavior exactly).

Note that even MySQL now follows the standard on this, without needing
some special strict switch or anything. Of course, a lot of folks are
still using older versions that are in fact still broken.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tim Landscheidt 2010-07-01 00:49:12 Re: loading many queries from a file
Previous Message Tom Lane 2010-07-01 00:12:27 Re: Cannot open table in new database