【发布时间】:2017-07-27 13:27:14
【问题描述】:
SELECT
table1.a,
table1.b,
(SELECT b
FROM table2
WHERE table2.b - table1.a < 10
LIMIT 0,1) as test
FROM table1
WHERE table1.b < test;
我正在尝试在查询的 WHERE 部分中使用 SELECT "variable" test 中收到的结果。
知道如何做到这一点而不必重新计算或在 WHERE 中再次进行任何操作吗?到目前为止,这就是我设法使它工作的方式。
【问题讨论】:
-
不可能,不能在 WHERE 子句中使用别名。但是在 WHERE 子句中重复完全相同的计算通常不是问题,这在内部得到了优化,因此计算只发生一次。