My mapper looks like this:

stock_unreserved = select(
        [stock_table] + \
        [stock_table.c.quantity.op('-')
(func.sum(request_table.c.quantity)).label('unordered')] + \
        [stock_table.c.quantity.op('-')
(func.sum(request_table.c.allocation)).label('unallocated')],
        and_(
                request_table.c.id_item==stock_table.c.id_product,
                request_table.c.id_location==stock_table.c.id_location,
                request_table.c.id_stocktype==stock_table.c.id_stocktype),
        group_by=[c for c in stock_table.c]).alias('stock_unreserved')

mapper(Stock, stock_unreserved, properties={
        'product': relation(Item,
primaryjoin=item_table.c.id==stock_table.c.id_product,
backref='_stock'),
        'location': relation(Item,
primaryjoin=item_table.c.id==stock_table.c.id_location),
        'stocktype': relation(StockType)})

Whenever I try to select an object through the mapper I would think it
would use the SQL from stock_unreserved which is:

SELECT
        stock.id,
        stock.id_stocktype,
        stock.id_product,
        stock.id_location,
        stock.quantity, (stock.quantity - sum(request.quantity)) AS
unordered,
        (stock.quantity - sum(request.allocation)) AS unallocated
FROM stock, request
WHERE request.id_item = stock.id_product
AND request.id_location = stock.id_location
AND request.id_stocktype = stock.id_stocktype
GROUP BY stock.id, stock.id_stocktype, stock.id_product,
stock.id_location, stock.quantity

Selecting all objects by a plain select() on the mapper works great!
But when I make a selection it does a subquery on all the results eg:

SELECT * FROM (SELECT * FROM stock_unreserved) WHERE selection
criteria

But I want it to append it to the other selection criteria without
doing a subselect eg:

SELECT * FROM stock_unreserved WERE ... AND ... + extra selection
criteria

Is this possible at all?

Many thanks!

Koen


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

Reply via email to