【发布时间】:2016-09-30 09:15:07
【问题描述】:
很少有像order_products和return_products这样的数据库表
return_products 表列:
id、rma_id、order_id、product_id、order_nr、comment、admin_comment、add_date
order_products 表列:
id、order_id、product_id、quantity、price、sum
将每一行的产品返回给每个产品,但order_products,有数量列
现在有这样的 SQL 查询来根据搜索的产品获取订单:
SELECT `id`, `saved`
FROM `orders`
WHERE 1 AND (`id` IN(
SELECT `order_id`
FROM `order_products`
WHERE `product_id` IN (1,2,3,4,5)))
BY id DESC
LIMIT 0, 30
现在需要检查订单和产品ID是否在return和return_products表中
即
如果在订单中搜索带有id 2 的产品,我需要检查该产品是否存在于退货表中,计数是多少,如果计数等于 order_products 数量,则不需要在列表中显示该订单,但如果退货数量小于 order_products 数量比需要显示 (order_products.quantity - COUNT(return_products))
【问题讨论】:
-
请提供样本数据。什么是return table,return_products.order_id和order_nr哪个是销售订单?