Try...
ds = nameDS.execute("select dataset.fullname, curPhone.phone from dataset
join curPhone on dataset.pk=curPhone.fkName",cursorDict={ "curPhone" :
phoneDS })


> -----Original Message-----
> From: dabo-users-boun...@leafe.com 
> [mailto:dabo-users-boun...@leafe.com] On Behalf Of tim awa
> Sent: Wednesday, July 15, 2009 12:25 AM
> To: Dabo Users list
> Subject: Re: [dabo-users] Joins on datasets
> 
> I actually tried various combinations and nothing worked. 
> Each reasonable attempt yields the same error -
> "OperationalError: no such table: curPhone".
> 
> The alias curPhone seems to be not pointing to the actual 
> dataset which is phoneDS.  It traces back to line 372 in 
> dabo\db\dDataSet.py
> 
> >From the error message, curPhone is the table being queried 
> in the sql
> statement w/c may not be the case as the actual dataset is phoneDS.
> Just my thought.
> 
> For a workaround, I created a Bizobj for the join. However, 
> this dataset join issue still appears as a bug to me.
> 
> 
> On Wed, Jul 15, 2009 at 11:34 AM, <lalo...@charter.net> wrote:
> > Tim,
> >
> > Dunno, looks right. Is it possible that there are no phoneDS.fkName 
> > matching nameDS.pk?
> >
> > One possible thing...check to make sure that the field "fkName" is 
> > actually spelled (capitalized) the way you have it in the 
> dataset.  I 
> > don't know if it works the same here but in Postgres if you have a 
> > mixed case name it sometimes needs to be enclosed in quotes 
> in the select statement.
> >
> > HTH,
> > Larry
> >
> >
> >> -----Original Message-----
> >> From: dabo-users-boun...@leafe.com
> >> [mailto:dabo-users-boun...@leafe.com] On Behalf Of tim awa
> >> Sent: Tuesday, July 14, 2009 9:15 PM
> >> To: Dabo Users list
> >> Subject: Re: [dabo-users] Joins on datasets
> >>
> >> I revisited the issue noticing that I had the typo "PhoneDS"
> >> on my original post. Following is the code that i tested:
> >>
> >> """"
> >> nameDS = self.PrimaryBizobj.getDataSet() phoneDS =
> >> self.getBizobj(dataSource="public.tblphone").getDataSet()
> >>
> >> nameDS.execute("select * from dataset") phoneDS.execute("select * 
> >> from dataset")
> >>
> >> aliasDict = { "curPhone" : phoneDS }
> >> ds = nameDS.execute("select dataset.fullname, curPhone.phone from 
> >> dataset join curPhone on dataset.pk=curPhone.fkName",
> >> aliasDict) """"
> >>
> >> I tried again with the above code but still no joy.
> >>
> >>
> >>
> >> On Wed, Jul 15, 2009 at 8:23 AM, tim awa<bop...@gmail.com> wrote:
> >> > My eyes are fooling me. I am aware of the case-sensitiveness of 
> >> > Python. But for some reasons, I was not able to detect it. LOL.
> >> >
> >> >
> >> > On Wed, Jul 15, 2009 at 6:48 AM, Ed Leafe<e...@leafe.com> wrote:
> >> >> On Jul 14, 2009, at 5:41 PM, tim awa wrote:
> >> >>
> >> >>> I can't spot any difference in the two lines of code that
> >> you posted.
> >> >>
> >> >>        PhoneDS != phoneDS
> >> >>
> >> >>        Case sensitivity sucks, but that's the way Python
> >> works. Your
> >> >> code mixes the capitalized and lower-case versions.
> >> >>
> >> >>
> >> >> -- Ed Leafe
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
[excessive quoting removed by server]

_______________________________________________
Post Messages to: Dabo-users@leafe.com
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: 
http://leafe.com/archives/byMID/!~!uenerkvcmdkaaqacaaaaaaaaaaaaaaaaabgaaaaaaaaaafa2fnyupuomnfpiynbeqckaaaaqaaaafca8balazkgjitdl1wv8igeaa...@charter.net

Reply via email to