我的问题:
如何让MySQL在选择之前选择的值中使用而不重复
我的回答,取自another post
在SELECT上设置变量direclty,如下所示:
SELECT @q:= ##longQuery## AS a, (@q>2) AS b;
我有这个MySQL:
SELECT ##longQuery## AS a, (a>2) AS b;
但我得到了:
ERROR 1054 (42S22): Unknown column 'a' in 'field list'
我不想重复 ## longQuery ## ,因为实际代码实际上非常冗长。
谢谢
答案 0 :(得分:2)
两种可能的解决方案:
子查询解决方案
select a, a>2 as b
from (select 1 as a) as q;
'变量'溶液强>
set @a = 1;
select @a as a, @a>2 as b;
答案 1 :(得分:0)
使用子查法将起作用
SELECT a, (a>2) AS b
FROM (
SELECT 1 AS a
) f