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
-~----------~----~----~----~------~----~------~--~---

Reply via email to