我需要一种快速查找表中项目数的方法。这些项目链接到另一个表格。表1是产品,表2是订单。
订单包含付费状态(1或0)。
订单表示例:
id paid
1 0
2 1
产品表示例:
id orderid type
1 1 5
2 1 5
3 1 3
4 2 5
5 2 5
6 2 3
产品包含引用订单和类型的id(orderid)。所以我需要订单表中type = 5和paid = 1的产品数量。
最好和最快的方法是什么?
所以我需要所有类型为5的付费产品。结果应该是' 2'。
答案 0 :(得分:0)
一种方法是使用join语句。对您的架构做一些假设,以下内容应该有效:
SELECT COUNT(p.`id`) FROM `products_table` p
LEFT JOIN `orders_table` o ON p.`orderid` = o.`id`
WHERE o.`paid` = 1
AND p.`type` = 5
答案 1 :(得分:0)
你可以使用像这样的连接,
SELECT COUNT(*) AS num_rows
FROM products
LEFT JOIN orders ON orders.id = products.orderid
WHERE type = 5 AND paid = 1