sacha wrote: > > Michael, > > do you mean, that subqueries could not be wrapped into sqlalchemy?
you talked about "mapping" to a select statement. "mapping" means this: m = mapper(MyClass, someselectable) mapping like the above is usually done against individual tables, and usually once per class per application. You can do it against select() statements but this is usually unnecessary. You can also make multiple mappers for a single class in an ad-hoc way, but again this is an ancient use case that is much better addressed by using the Query object as needed. > what should be the arguments to join() I failed to figure out? how do > I reference different instances of seq in fileter() after? > Usually you use query.join(). Self referential queries require an alias for each join target. There is an example at http://www.sqlalchemy.org/docs/05/ormtutorial.html#using-aliases . Also the example I mentioned earlier in examples/elementtree/optimized_ai.py shows exactly a dynamically-constructed self-referential join. > Thanks, > A > > On Jun 19, 7:43 am, "Michael Bayer" <mike...@zzzcomputing.com> wrote: > >> you can map to any select(), but since the statement here is a runtime >> thing just map to the "seq" table normally and use Query as needed to >> construct the joins and filter criterion. If you're looking to >> automate >> adding N joins, just build a function that calls query.join() the >> appropriate number of times. For an example of a completely different >> use case where a self-referential query.join() is being called an >> arbitrary number of times, see the elementtree/optimized_al.py example >> in >> the distribution. > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---