我可以在sql查询中使用临时值吗?

时间:2013-08-05 08:46:56

标签: mysql sql

我可以在查询中写这样的东西吗?

SELECT X AS Y WHERE Y = SOMETHING

或者我不能在同一查询的WHERE中使用Y?

2 个答案:

答案 0 :(得分:4)

您需要通过原始列名称(而不是别名)来引用:

SELECT X AS Y 
FROM myTable
WHERE X = SOMETHING

如果要引用别名,请创建派生表并从中进行SELECT。

SELECT Y FROM
(SELECT X AS Y 
FROM myTable) tmp
WHERE Y = SOMETHING

根据您的目标,VIEW可能是合适的。

答案 1 :(得分:0)

不,您不能在where子句中使用别名。

但是在其他条款中,例如group byhaving

SQLFiddle demo