首页 > 解决方案 > 在两个表之间的 WHERE 子句中使用 mysql SUM()

问题描述

----------
products
----------
product_id | price 
1          | 5     
1          | 5     
2          | 10    
2          | 10    
----------
warehouse
----------
product_id  | qty1 | qty2 | qty3 | store_id
1           |   1  |   0  |  0   |  10
1           |   0  |   0  |  0   |  20
2           |   0  |   0  |  0   |  10
2           |   0  |   0  |  0   |  20

如何从 qty1 qty2 qty3 的总和大于零的产品中选择 DISTINCT id?

标签: mysql

解决方案


这将起作用。这也将包括它的价格

SELECT
  w.id, p.price
FROM
  warehouse w join products p on w.product_id = p.product_id
GROUP BY
  id
HAVING
  SUM(w.qty1 + w.qty2 + w.qty3) > 0

推荐阅读