2010-11-03 54 views
1

是否可以使用简单的SELECT查询的结果对列名进行别名。MySQL:别名列名问题

这不起作用:

SELECT `hlevel1` AS (SELECT `level1` FROM `hierarchy_labels` LIMIT 1) FROM `hierarchy`; 

有什么建议?

回答

3

你不能这样做。

别名用于重命名字段或命名计算字段。

如果您只是想你的结果,被命名为“hlevel1”,你可以试试这个:

SELECT level1 as hlevel1 FROM hierarchy_labels LIMIT 1 
1

使用事先准备好的声明。

SELECT `level1` INTO @x FROM `hierarchy_labels` LIMIT 1; 
SET @s = CONCAT('SELECT `hlevel1` AS `', @x, '` FROM `hierarchy`'); 
PREPARE s FROM @s; 
EXECUTE s; 
DEALLOCATE PREPARE s;