我有这个MySQL查询:
WHERE
(SELECT SUM(C.quantity) FROM C WHERE C.other = A.other) AS quantity < A.quantity
有没有办法从WHERE子句中获取SELECT值?比如用PHP吗?类似的东西:
{{1}}
我需要在mysql中比较这两个值,然后我在我的脚本中都需要它们。我当然可以将这个子查询放在第一个SELECT中 - 但我相信有更好的方法可以做到这一点,而不是在很多地方重复代码。
答案 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