Yes, Time.emp is a relation to the Employee object. I was trying to avoid having this query know anything about the actual table column names, so I wanted to avoid Time.employeeId. When I say Time.emp, howcome all of the table's columns are added to the query output?
On Mar 9, 2:02 pm, "Michael Bayer" <[email protected]> wrote: > Bryan wrote: > > > The join works great now. Thanks. > > > This query is actually being used for a subquery. Table 'Time' also > > has a column 'employeeId', which translates to an orm attribute of > > 'emp'. When I add Time.emp to the columns of this subquery, all > > columns of the 'Time' table are output instead of just the > > 'employeeId' column. > > > When I say: > > q = orm.query(Time.emp) > > print q > > > A large SQL statement with all the columns in 'Time' appears. I would > > like it to just show the Time.employee_time column. Is this possible > > using only the orm library, or must I use the tables underlying > > columnn objects? > > do you mean that Time.emp is a relation() to the Employee object ? if you > want just employeeId, ask for that: query(Time.employeeId) > > > > > On Mar 9, 1:12 pm, "Michael Bayer" <[email protected]> wrote: > >> specify the join as an "on" condition: > > >> q.join(Time.account) > >> q.join(Time.job) > > >> Bryan wrote: > > >> > I have a table 'Time' that has many-to-1 relationships to tables 'Job' > >> > and 'Account'. There is also a 1-to-many relationship between job and > >> > Account. > > >> > Tables > >> > ---------------------------------------------- > >> > Time > >> > --> Account > >> > --> Job > >> > Job --> Account > > >> > I am trying to pull back a few rows from Time, Job and Account via the > >> > orm library. I want to try and avoid using the actual sql objects. > > >> > I can't join them simply like below because the reference between Job > >> > and Account is making the join ambiguous. I want to join Time to Job > >> > and Time to Account. > > >> > q = orm.query( > >> > func.sum(Time.hours), > >> > Time.day, > >> > Job.number, > >> > Account.code > >> > ) > >> > q = q.join(Job) > >> > q = q.join(Account) > > >> > How can i tell sqlalchemy to join Job and Account to Time, and not to > >> > eachother? > > >> > Bryan > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---
