2

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

例如:

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

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

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

4

2 回答 2

3

您不能直接这样做,但 MySQL 中有一种方法可以使用如下变量:

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

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

于 2013-10-08T12:24:52.040 回答
2

您不能在同一级别查询的选择部分中直接重用别名。

你可以使用

一个变量

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

子查询

select concat('Hello:', username, t)
from (select now() as t, username from table1) s
于 2013-10-08T12:27:27.063 回答