我有几个与地址相关的列(街道,城市,邮政编码等)
在设置像
这样的查询时,如何在表中定义'常量别名'select adress from table ;
? 将由查询替换:
select concat( zip_code, ' ', city, '; ', street ) adress from table
我想阻止在每个查询中使用concat语句。
答案 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