2014-11-08 48 views

回答

4

你会做:

select concat_ws(' ', firstName, lastName) as Name, 
     concat_ws(' ', firstName, lastName, jobTitle) as NameTitle 

你不能在同一个select重新使用列别名,所以你必须重复表达。

编辑:

如果你想这种形式的一列,那么也许:

select concat(firstname, ' ', lastname, ', ', jobtitle) 
+0

其实,我想打印出来只有1列符合形式(全名,JOBTITLE),但你有2列名, NameTitle – 2014-11-08 03:11:48

0

我不相信你可以使用此列别名,你必须简单地选择所有三列一次。

CONCAT(firstName, lastName, jobTItle) as nameJob 
+0

请解释为什么,我只想将firstName和lastName连接为fullName,以显示1列CONCAT(fullName,“”,jobTitle)。 为什么我不能那样做? – 2014-11-08 03:25:32

+0

因为concat函数需要字符串或列名称。由于某些原因,它不支持别名。 – 2014-11-08 12:27:41

0

也许就像那

SELECT CONCAT(firstname, ' ', lastname) as fullname,CONCAT(fullname,'-',jobTitle) as info 
FROM yourTable 

另一个例子

SELECT CONCAT(firstname, ' ', lastname) as fullname,CONCAT(fullname,'-',jobTitle) as info 
FROM yourTable WHERE CONCAT(firstname, ' ', lastname) = "Bob Marley" 
+0

MySql在“字段列表”中显示错误“ERROR 1054(42S22):未知列'全名'”,您能否提出另一个答案。 – 2014-11-08 03:27:42

+0

是的,我可以,应该关于你的版本。看这个例子http://www.mysqltutorial.org/sql-concat-in-mysql.aspx – vcrzy 2014-11-08 11:47:35