Skip to content

Instantly share code, notes, and snippets.

@caseydentinger
Created January 24, 2013 17:41
Show Gist options
  • Save caseydentinger/4625583 to your computer and use it in GitHub Desktop.
Save caseydentinger/4625583 to your computer and use it in GitHub Desktop.
select op.orders_id as picked
from orders_products op
join products_stock_adjustments psa on
op.orders_id = psa.orders_id and
op.products_id = psa.products_id and
op.products_quantity = psa.adjustment_amount_physical * -1
where op.orders_id = {$this->id()}
@randykarels
Copy link

I'd probably be more explict. Like:

SELECT
  op.orders_id
, op.products_id  
, IF (op.purchased + stock.shipped=0, True, False) as is_shipped

FROM ( 

  # rollup of orders_products
  select orders_id, products_id, sum(products_quantity) as purchased
  from orders_products op
  where orders_id = 677953
  group by orders_id, products_id

) as op
INNER JOIN (

  #rollup of stock adjustments
  select orders_id, products_id, sum(psa.adjustment_amount_physical) as shipped
  from products_stock_adjustments psa
  where psa.orders_id = 677953
  group by orders_id, products_id

) as stock

ON op.orders_id = stock.orders_id AND op.products_id = stock.products_id
GROUP BY op.orders_id, op.products_id

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment