应该如何访问mysql别名?

时间:2012-10-23 16:47:51

标签: mysql

鉴于这是在mysql脚本中定义的:

`Project1`.`Id` AS `Id1d334656-0d51-4bf6-bb08-6c25d01e7745` 

这是否意味着

`Project1`.`Id`

不再可以通过该名称访问,只能通过

访问
`Project1`.`Id1d334656-0d51-4bf6-bb08-6c25d01e7745`

背景:此脚本由MySqlConnector / net生成,这是生成的命令的一部分。

2 个答案:

答案 0 :(得分:2)

别名没有表格分配,所以它只是ID1d3346etc....。如果他们这样做了,那就会破坏别名的目的,例如

select table1.x AS abc, table2.x AS abc

将是一个错误,即使两个别名来自不同的表。

答案 1 :(得分:1)

是。它非常类似于在选择时重命名列。在select查询之外,应使用别名引用列,但在select查询中使用 - ,您应该使用表格列,例如下面:

  select col1 as a
  from table b
  where col1 = 'xxx';

但是在select select之外,别名应该是:

select a 
from (select col1 AS a From table) b
where a = 'xxxx';

如果您尝试使用表格列,它将失败:

<<----FAILURE -->
select col1 
from (select col1 AS a From table) b
where a = 'xxxx';