[英]How to count grouped records that match multiple criteria
我有三張桌子
表格1; 帶有product_name、product_id、產品價格的產品表
表2; 帶有 store_id、store_name 的存儲表
表3; 帶有 id、store_id、product_id、sock、min_stock 的庫存表
我需要將每個產品的庫存總和為 total_stock,並將每個產品的 min_stock 總和為 total_min_stock。 然后我應該將 total_stock 值小於 total_min_stock 的產品數量計算為 low_stock_number 並回顯 low_stock_number 的值
假設每個表的唯一值是它的 id,你需要的是 aum 和 group by,使用 HAVING 來條件 GROUPed 結果
SELECT
p.product_id,
SUM(IFNULL(st.stock,0) as total_stock,
SUM(IFNULL(st.min_stock,0) as total_min_stock
FROM
product p
LEFT JOIN stock st ON st.product_id = st.product_id
GROUP BY
p.product_id
HAVING
total_stock < total_min_stock
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.