SELECT id as bid,sku,product_name,
(SELECT SUM(piece) FROM sales WHERE uid = bid) as tsa,
(SELECT SUM(piece) FROM buying WHERE uid = bid) as taa
FROM product WHERE ?
我想要在哪里taa - tsa if 0
显示查询请帮助我需要减法
我正在使用 WHERE taa-tsa = 0
但不起作用
我通过感谢解决了
最佳答案
如果要根据聚合值的内容过滤 SELECT 查询的输出,则需要在 HAVING 子句中指定过滤器(其中 WHERE 子句过滤输入行)。
因此:
SELECT id as bid,sku,product_name,
(SELECT SUM(piece) FROM sales WHERE uid = bid) as tsa,
(SELECT SUM(piece) FROM buying WHERE uid = bid) as taa
FROM product
HAVING tsa=taa
或
SELECT ilv.*
FROM (
SELECT id as bid,sku,product_name,
(SELECT SUM(piece) FROM sales WHERE uid = bid) as tsa,
(SELECT SUM(piece) FROM buying WHERE uid = bid) as taa
FROM product
) as ilv
WHERE tsa=taa
您的查询结构非常糟糕。如果不了解更多有关数据结构、数据库和查询用法的信息,就不可能判断查询应该是什么样子。
关于php - Mysql在哪里计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34133273/