如何使用来自WHERE查询MYSQL的数据

时间:2018-01-26 19:15:17

标签: mysql subquery

我有这个MySQL查询:

WHERE

(SELECT SUM(C.quantity) FROM C WHERE C.other = A.other) AS quantity < A.quantity

有没有办法从WHERE子句中获取SELECT值?比如用PHP吗?类似的东西:

{{1}}

我需要在mysql中比较这两个值,然后我在我的脚本中都需要它们。我当然可以将这个子查询放在第一个SELECT中 - 但我相信有更好的方法可以做到这一点,而不是在很多地方重复代码。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

SELECT    A.*, B.*, C.*, D.sumq 
FROM      A
LEFT JOIN B
       ON B.id = A.id
LEFT JOIN C
       ON C.other = A.other
LEFT JOIN (
           SELECT   other, SUM(quantity) sumq
           FROM     C
           GROUP BY other
          ) AS D
       ON D.other = A.other
WHERE     COALESCE(D.sumq, 0) < A.quantity