2013-08-16 15 views
0

我的工作自动完成,我通过mysql的需要从两列作为一个数据:Concat连续两列mysql表中的一列?

我有一个表,如

id serial name 
1 EHY Audi 
2 EHZ Lemo 
3 EHM Ferrari 

现在我想的结果是在一个表,我想我的自动完成从这样的序列和名称字段带来的数据

-list- 
EHY 
EHZ 
EHM 
Audi 
Lemo 
Ferrari 

这可以在单个查询调用中完成吗?

我使用了这个查询,(它只是一个例子),我想要类似于这个,但串行绑定数据。

select concat(c.name, c.serial) as lising from data c 
+0

而当您使用查询时会发生什么? –

+0

@ User016结果是EHYAudi,EHZLemo,EHMFerrari,我不想要。 –

回答

6

您正在寻找UNION语法:

SELECT `serial` FROM `table` 
UNION ALL 
SELECT `name` FROM `table` 
+0

如果我使用union来代替union all,那么会有什么区别?在这两种情况下,我都会得到不同的list count,union会给我68个结果,而union all给了我84,但是两列都有不同类型的数据。 –

+0

'union'是'union distinct'的缩写,所以它消除了双重价值。 'union all'给你全部结果 – bish

1

你CONCAT查询必须为Fiddle

输出但是,这不是你想要的,所以不要使用CONCAT,你可以得到它使用联合

这里是Fiddle与数据列表

SELECT serial AS list FROM table_name UNION SELECT name AS list FROM table_name