This works fine But in the mine case columns = [a,b,c] operator = ['+','-']
comes in the list And it can go to n number. So while adding it creates a problem My approach looping on columns i append it in to the table and hence making the object i can join them with operator to form the a+b-c but in this a b c becomes string which is not desirable i want object here i hope this will clear the picture On Feb 25, 6:40 pm, Gunnlaugur Thor Briem <gunnlau...@gmail.com> wrote: > You can sum the column objects directly, a+b, producing a > sqlalchemy.sql.expression._BinaryExpression object. > > t = Table('bobloblaw', MetaData(), Column('a', Integer), Column('b', > Integer), Column('c', Integer)) > t.c.a + t.c.b > # evaluates to <sqlalchemy.sql.expression._BinaryExpression object at > 0x1ec9ff0> > print t.c.a + t.c.b > # bobloblaw.a + bobloblaw.b > > On Wed, Feb 25, 2009 at 1:25 PM, Ashish Bhatia > <ashishsinghbha...@gmail.com>wrote: > > > > > The problem is still their. > > > The two seprate list of > > columns = List of sqlalchem object > > operator = ['+'','-'] > > > using join to join them will convert the columns object to string > > which is not desirable. > > > Any way to fix this. > > > On Feb 25, 3:54 pm, Ashish Bhatia <ashishsinghbha...@gmail.com> wrote: > > > sorry its resolved and working > > > > On Feb 25, 12:20 pm, Ash <ashishsinghbha...@gmail.com> wrote: > > > > > Hello , > > > > > I am trying to make query like > > > > > select (a+b) from xyz; > > > > > to do this > > > > > xyz = sqlalchemy.Table('xyz',metadata) > > > > > a = sqlalchemy.Column('a', sqlalchemy.Integer) > > > > xyz.append_column(a) > > > > b = sqlalchemy.Column('b', sqlalchemy.Integer) > > > > xyz.append_column(b) > > > > > column = [(a + b)] > > > > select = sqlalchemy.select(from_obj=xyz, columns=column,distinct=True) > > > > > This works fine for me. > > > > > Now when the columns a and b are dynamic (Enter by the user in form of > > > > string) and the operator too comes from user > > > > > columns_list = ['a','b'] > > > > operator = ['+'] > > > > > like this i get the input > > > > > so i make the loop and make > > > > > for both the columns something like this > > > > columns = [] > > > > for x in column_list : > > > > t = sqlalchemy.Column(x, sqlalchemy.Integer) > > > > xyz.append_column(a) > > > > columns.append(t) > > > > > so now > > > > how to add + to make the quer run > > > > > Thanks in the advance. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---