2013-08-16 46 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