mysql,制作动态自定义别名

时间:2011-12-01 20:46:08

标签: mysql

表中的

我有几个与地址相关的列(街道,城市,邮政编码等)

在设置像

这样的查询时,如何在表中定义'常量别名'
select adress from table  ;

? 将由查询替换:

select concat( zip_code, ' ', city, '; ', street ) adress from table   

我想阻止在每个查询中使用concat语句。

2 个答案:

答案 0 :(得分:3)

听起来你想要一个计算列,但MySQL不支持这一点。相反,您可以创建一个视图,其中包含原始表和额外列的所有列。在您的查询中,您可以从视图而不是原始表中进行选择。

 CREATE VIEW mytable_with_address AS
 SELECT
     col1,
     col2,
     ...
     coln,
     CONCAT(zip_code, ' ', city, '; ', street) AS address
FROM mytable  

答案 1 :(得分:2)

方法是创建一个视图:

create view table2 as
  select concat( zip_code, ' ', city, '; ', street ) as adress 
  from table 

然后你可以从视图中选择:

select adress from table2