2015-12-20 65 views
-1

我想将两个字段合并为一个,在我的一个MySQL表中(表中所有条目分别标题为“firstname”和“lastname,”的列)。我已经在这里搜索了几个关于此事的帖子,但尚未找到可行的解决方案。连接MySQL列 - 错误1054

我不断收到...

Error #1054 - Unknown column 'firstname' in 'field list' 

...当我尝试执行以下操作:

SELECT concat(firstname, ' ', lastname) 

我有双重检查这两个领域的拼写和他们是正确的。它们都是VARCHAR。

我是MySQL的相对新手,所以任何帮助非常感谢!

谢谢。

+0

请张贴*完整*'SELECT'声明,以及来自'SHOW CREATE whatever_you_named_your_table'输出。 –

+0

这是完整的SELECT语句...我收集那是我出错的地方...? – Nathan

+0

是你的完整查询'select concat(firstname,'',lastname)'?你可能想写'select concat(firstname,'',lastname)作为表名的全名“ – zedfoxus

回答

0

我从错误消息中看到的唯一的事情是,无论是列不存在(这似乎是因为您的评论是不正确),或者你没有正确访问它们,尽量领域之前,使用表名:

SELECT concat(tbl.firstname, ' ', tbl.lastname) from tbl 
0

您的查询应该是这样的:

select concat(firstname, ' ', lastname) as fullname 
from yourTableName 
+0

好吧,这工作,但当我回去浏览表我仍然看到原来的两列,而不是新的。 – Nathan

+0

查询提取数据并不会对数据库进行任何更改。这是关于数据库的美丽。您可以在数据库中存储名字和姓氏等相关信息。当你想提取数据时,你可以像在上面的查询中一样快速地转换数据。不需要在数据库中存储相关(姓和名)和派生(全名)数据。 – zedfoxus

+0

我明白了。我想要做的是消除单独的名字/姓氏字段,并只有一个全名字段。有没有简单的方法来做到这一点? – Nathan