Could you use the python 'operator' module 
(http://docs.python.org/library/operator.html)?

Eg. (untested):

import operator

operations = {
    '+': operator.add,
    '-': operator.sub,
    # etc.
}

def combine_columns(op, *cols):
    return operations[op](*cols)

sum_column = combine_columns('+', a, b)

I think that should work.

Simon

> -----Original Message-----
> From: sqlalchemy@googlegroups.com 
> [mailto:sqlalch...@googlegroups.com] On Behalf Of Ashish Bhatia
> Sent: 25 February 2009 13:26
> To: sqlalchemy
> Subject: [sqlalchemy] Re: Creating SQL Expression
> 
> 
> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to