php - Mysql在哪里计算

标签 php mysql

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/

相关文章:

php - 从 php 到 jquery-ui 自动完成的数组

php - JSON 编码帮助

mysql - 净头寸计算

MySQL 将列加在一起

mysql - NHibernate MySQL 密码函数

mysql - 输出组与条件语句连接

php - AngularJS ng-repeat 不显示表中的数据

php - webapp2 行为在 apache/php 中复制

php - 谷歌 API 客户端 :"{ "错误“: "invalid_grant", "error_description": "Incorrect token type."}”

php - SELECT 查询,一列 LIMIT 1,但不是其余的