订单匹配查询

时间:2014-03-21 05:33:02

标签: php mysql sql

我有两张桌子,A&乙

Table A                                 Table B

order id                       order id        quantity           
-----------                    ------------    -------------
1                               1               10
2                               2               20
3                               3               10
4                               4                5
5                               5                6 

表A包含订单ID,表B包含订单ID&数量。我在尝试 运行MySQL查询,显示总数等于或小于数字的行。对于 例如,查找等于或小于15的行的查询将显示行 订单ID& 4& 5

2 个答案:

答案 0 :(得分:0)

您可以在表格order_id中拥有多个quantityB对吗?如果是这样,我想你想要的是:

SELECT order_id FROM B GROUP BY order_id HAVING SUM(quantity) <= 15

答案 1 :(得分:0)

如果表B中的order_id是唯一的(没有多个具有相同ID的行),请使用以下内容:

SELECT a.order_id, col1, col2, col3 
FROM TableA a
LEFT JOIN TableB b
ON a.order_id = b.order_id 
WHERE b.quantity <= {$magic_number}

如果表B中的order_id不唯一(具有相同order_id的多行),请使用以下内容:

SELECT a.order_id, col1, col2, col3 
FROM TableA a
LEFT JOIN TableB b
ON a.order_id = b.order_id 
GROUP BY a.order_id 
HAVING SUM(b.quantity) <= {$magic_number}