1

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

SELECT X AS Y WHERE Y = SOMETHING

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

4

2 回答 2

4

您需要按原始列名(而不是别名)引用:

SELECT X AS Y 
FROM myTable
WHERE X = SOMETHING

如果要引用别名,请创建一个派生表并从中选择。

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

根据您尝试实现的VIEW可能是合适的。

于 2013-08-05T08:49:02.210 回答
0

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

但在其他子句中,例如group by and having

SQLFiddle 演示

于 2013-08-05T08:49:24.587 回答