在同一个sql语句中使用别名的值

时间:2013-10-08 12:23:01

标签: mysql sql

如何在同一个sql语句中使用别名的值来显示?

例如:

select now() as t, concat('Hello: ', username, t) from table;

我实际上要做的事情要复杂得多。我已经把它分解为这个,所以你明白了。

如何做到这样的事情,所以我不需要再次选择同一列?

2 个答案:

答案 0 :(得分:3)

你不能直接这样做,但MySQL有一种方法可以使用这样的变量:

select @t:=now() as t, concat('Hello: ', username, @t) from t;

如果您不需要此t - 您可能希望删除该别名(我保留以防万一)

答案 1 :(得分:2)

您无法直接在同一级别的查询的选择部分中重复使用别名。

您可以使用

变量

select @myVar := now(), concat('Hello:', username, @myVar) from t;

子查询

select concat('Hello:', username, t)
from (select now() as t, username from table1) s